Avatar billede dstjulle Nybegynder
04. oktober 2008 - 12:34 Der er 23 kommentarer og
1 løsning

fejl i link i paginig

hej til jer alle.

jeg har være ved at lave en side med pagning og der er fejl i linket ( hvor der stå næste) har prøver og lige det et andet sted på serveren og så virker den ???

jeg bruger der har til at få mine sider til at smælte samme ( og det virker på alle mine andre sider bare ikke på den her )


<?php



$side = addslashes($_GET['side']); // Lidt sikkerhed

if ($side) { //                      Hvis strengen $side er sat

if (file_exists("".$side.".php")) {

include("".$side.".php"); //  Inkluder filen strengen peger på

} else {

include("../inc/404.php");

}

} else { //                          Hvis strengen $side ikke var sat

include("../inc/start.php"); //    Inkluder forsiden

}

?>

og jeg ved ikke helt hvordan jeg skal få mit link til at blive rigtg og håber nu at i kan hjælp mig lidt med det ??

det jeg har prøblemer med er denne del her

/* Antallet af poster vi ønsker vist på hver side */

                $pr_side = 50;



                /* Vi tæller antallet af poster i tabellen husk at ændre ‘table’ til dit eget tabelnavn */

                $antal = mysql_result(mysql_query("SELECT COUNT(*) FROM user_log"),0) or die(mysql_error());



                /* Hvis visfra-variablen ikke findes i URL-feltet og den ikke er et nummer og den er større end antallet i databasen, så sættes den til 0, ellers sættes den til værdien fra URL feltet */

                $vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;



/* Der undersøges om der skal udskrives et ”forrige side”-link, er dette tilfældet udskrives linket */

$page = 1;



                /* Alle siderne udskrives så man med et klik kan få resultaterne fra fx 90-100 */

                for ($start = 0; $antal > $start; $start = $start + $pr_side) {

                if($vis_fra != $page * $pr_side - $pr_side) {

                echo "<a href='$_SERVER[PHP_SELF]?side=user_log.php?visfra=$start'>$page</a> ";

                } else {

                echo $page." ";

                }

                $page++;

                }



                /* Der undersøges om der skal udskrives et ”næste side”-link, er dette tilfældet udskrives linket */

                if ($vis_fra < $antal - $pr_side) {

                $next = $vis_fra + $pr_side;

                echo " <a href='$_SERVER[PHP_SELF]?side=user_log.php&visfra=$next'>Næste</a>";

linker ser sådan ud http://www.espersen-glasius.dk/test/CMS-1.0/bruger/index.php?visfra=50
men skal ikke se sådan ud stien til den side jeg skal bruge er www.---.dk/test/CMS-1.0/bruger/user_log.php det er den jeg laver det på

har med ikke taget alt det med som den skal vise da den del virker :-) håber i kan hjælp mig lidt
Avatar billede fynbo Nybegynder
04. oktober 2008 - 15:50 #1
<?php

// How many items per page?
$limit=10; 

/* Get all posts */
$rs = $db->Execute("select id from your_table");

/* Where to start */
if (empty($_GET[offset])) {
    $offset =0;
} else {
    $offset = $_GET[offset];
}
/* Calculate pages needed */<br>

$pages = intval($rs->RecordCount()/$limit);
if ($invoices->RecordCount()%$limit) {
    $pages++;
}

/* Get data according to page number */
$rs2 = $db->Execute("select * from your_table limit $offset, $limit");   
while(!$rs2->EOF){

    /* do stuff */
    $rs2->MoveNext();
}

/* Print navigation */
print 'Side:&nbsp;';
for ($i=1;$i<=$pages;$i++) {
    $newoffset=$limit*($i-1);
    if ($offset==$newoffset) {
    print ("&nbsp;<b>$i</b>&nbsp;\n");
    } else {
        print "<a href=\"index.php?offset=$newoffset\">$i</a>&nbsp;\n";
    }
}
?>
Avatar billede dstjulle Nybegynder
06. oktober 2008 - 08:39 #2
ok kan du give en forklarein på det ( for jeg kan godt se hvor min fejl er der er at jeg bruger et systen så der vil komme 2 x ? i mmin link i bunden og det skla der jo ikek være men kan ikek finde ud af hvad jeg ellers skal gøre )
Avatar billede dstjulle Nybegynder
07. oktober 2008 - 11:45 #3
er der ikke der kan hjælp mig ( for der er ikek fejl i pagnign men i linket på det jaeg har lavet )
Avatar billede fynbo Nybegynder
07. oktober 2008 - 11:50 #4
<?
$rs = $db->Execute("select * from your_table");
   
$num_of_records = $rs->RecordCount();
$limit = 10;
if($num_of_records != 0){

    // Where to start in the list, if nothing's specified. Default should be '0'
    if (empty($_GET['page']) || $_GET['page'] == '1') {
        $previous_link = '';
        $cur_page = '1';
        $offset = 0;
       
    } else {
        $cur_page = $_GET['page'];
        $offset = ($cur_page-1)*$limit;
    }
    // calculate number of pages needing links
    $pages=intval($num_of_records/$limit);

    // $pages now contains int of pages needed unless there is a remainder from division
    if ($num_of_records%$limit) {
        $pages++;
    }
} else {
    $offset = 0;
}

if($cur_page != '1'){
    $prev_link = '<a href="index.php?page='.($cur_page-1).'">Forrige</a>';
} else {
    $next_link = '';
}
if($cur_page != $pages){
    $next_link = '<a href="index.php?page='.($cur_page+1).'">Næste</a>';
} else {
    $next_link = '';
}

$rs1 = $db->Execute("select * from your_table limit  ".$offset.", ".$limit."");

?>
Avatar billede fynbo Nybegynder
07. oktober 2008 - 11:54 #5
og den store version, med mysql-quries istedet, forrige og næste link og side: 1 2 3:

Udskriver følgende navigation:

Forrige - Side: 1 2 3 4 5 - Næste

<?
$rs = mysql_query("select * from your_table");
   
$num_of_records = mysql_num_rows($rs);
$limit = 10;
if($num_of_records != 0){

    // Where to start in the list, if nothing's specified. Default should be '0'
    if (empty($_GET['page']) || $_GET['page'] == '1') {
        $previous_link = '';
        $cur_page = '1';
        $offset = 0;
       
    } else {
        $cur_page = $_GET['page'];
        $offset = ($cur_page-1)*$limit;
    }
    // calculate number of pages needing links
    $pages=intval($num_of_records/$limit);

    // $pages now contains int of pages needed unless there is a remainder from division
    if ($num_of_records%$limit) {
        $pages++;
    }
} else {
    $offset = 0;
}

if($cur_page != '1'){
    $prev_link = '<a href="index.php?page='.($cur_page-1).'">Forrige</a>';
} else {
    $next_link = '<span style="color:#ccc;">Forrige</span>';
}
if($cur_page != $pages){
    $next_link = '<a href="index.php?page='.($cur_page+1).'">Næste</a>';
} else {
    $next_link = '<span style="color:#ccc;">Næste</span>';
}

/* Print navigation */
print $prev_link.' - Side:&nbsp;';
for ($i=1;$i<=$pages;$i++) {
    $newoffset=$limit*($i-1);
    if ($offset==$newoffset) {
    print ("&nbsp;<b>$i</b>&nbsp;\n");
    } else {
        print "<a href=\"index.php?offset=$newoffset\">$i</a>&nbsp;\n";
    }
}
print ' - '.$next_link;

$rs1 = mysql_query("select * from your_table limit  ".$offset.", ".$limit."");

?>
Avatar billede dstjulle Nybegynder
07. oktober 2008 - 12:12 #6
som sagt så hjælper det men ikek da det system jeg bruger tila t vælge mine link ( som jeg har skrevet i staten af indlæget er styret med

<?php



$side = addslashes($_GET['side']); // Lidt sikkerhed

if ($side) { //                      Hvis strengen $side er sat

if (file_exists("".$side.".php")) {

include("".$side.".php"); //  Inkluder filen strengen peger på

} else {

include("../inc/404.php");

}

} else { //                          Hvis strengen $side ikke var sat

include("../inc/start.php"); //    Inkluder forsiden

}

?>


som giver mig et link der ser sådan her ud

http://www.espersen-glasius.dk/test/CMS-1.0/bruger/index.php?side=user_log

kan jeg jo ikke have 2 x ? i min link ( det er afprøvet og det er umulig) og det er der jeg gerne vil have hjælp ;-) håber i forstå mig nu
Avatar billede fynbo Nybegynder
07. oktober 2008 - 12:17 #7
hvad snakker du om?? brug dog overstående kode jeg skrev og ret til med din????

if($cur_page != '1'){
    $prev_link = '<a href="index.php?side=userlog&page='.($cur_page-1).'">Forrige</a>';
} else {
    $next_link = '<span style="color:#ccc;">Forrige</span>';
}
if($cur_page != $pages){
    $next_link = '<a href="index.php?side=userlog&page='.($cur_page+1).'">Næste</a>';
} else {
    $next_link = '<span style="color:#ccc;">Næste</span>';
}
Avatar billede dstjulle Nybegynder
07. oktober 2008 - 13:12 #8
som jeg lige har skrev så før jeg 2 x ? i det link som du lige har givet mig og det virker ikke !
Avatar billede dstjulle Nybegynder
07. oktober 2008 - 13:15 #9
linket ser sådan ud når det er trykke på 2 eller 3 :-)

http://www.espersen-glasius.dk/test/CMS-1.0/bruger/index.php<b>?</b>side=user_log.php<b>?</b>visfra=50

som du kan se så er der 2 <b>?</b> og jeg mener at fejlen er der i
Avatar billede dstjulle Nybegynder
07. oktober 2008 - 13:15 #10
Avatar billede fynbo Nybegynder
07. oktober 2008 - 13:18 #11
Har du overhovedet afprøvet min kode?
Avatar billede fynbo Nybegynder
07. oktober 2008 - 13:19 #12
og iøvrigt skal du bruge & og ikke ? som sepator efter nummer 1

index.php?side=1&id=2&var=3&foo=bar
Avatar billede dstjulle Nybegynder
07. oktober 2008 - 13:21 #13
ja det har jeg du kan selv prøve den af her men bruger navn test og kode test

http://www.espersen-glasius.dk/test/CMS-1.0/bruger/

du loger ind og så kan du trykke på det link i højre side under admin som hedder Bruger logfil og der kan ud afprøve det ;-)
Avatar billede fynbo Nybegynder
07. oktober 2008 - 13:40 #14
virker ikke her - har givet dig alle de svar du skal bruge, nu må du bruge de små grå selv :-)
Avatar billede dstjulle Nybegynder
07. oktober 2008 - 13:45 #15
ok er det linket der ikke virker?

men ellers må jeg jo se om jeg kan få det tila t virke ;-)
Avatar billede fynbo Nybegynder
07. oktober 2008 - 13:50 #16
du skal bare lade være med at komme så mange spørgsmålstegn i dine links.. kun ét efter .php og resten skal være & (og-tegn)
Avatar billede dstjulle Nybegynder
07. oktober 2008 - 13:54 #17
ok jeg prøve ;-) du kan godt lave et svar så godkender jeg når det virker
Avatar billede fynbo Nybegynder
07. oktober 2008 - 14:00 #18
smid lige HELE din kode du har i den fil
Avatar billede dstjulle Nybegynder
07. oktober 2008 - 14:04 #19
har lige fået det tila t virke :-) vil du stadig have kode?
Avatar billede dstjulle Nybegynder
07. oktober 2008 - 22:02 #20
laver du ikke et svar fynbo så får du point :-) og manget tak for din hjælp
Avatar billede dstjulle Nybegynder
20. oktober 2008 - 17:45 #21
fynbo vil du have point eller må jeg selv tage dem ?
Avatar billede fynbo Nybegynder
20. oktober 2008 - 17:58 #22
svar
Avatar billede dstjulle Nybegynder
28. oktober 2008 - 11:48 #23
du skal huske at afkrysse (svar ) knappen til venstre :-)
Avatar billede dstjulle Nybegynder
04. december 2008 - 14:02 #24
når du stadig ikke har svaret går jeg ud fra at du ikke vil have dem
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester