Avatar billede jacks222 Nybegynder
30. december 2009 - 10:38 Der er 3 kommentarer og
1 løsning

Pænere paging-navigation (via limit fra mysql db)

Jeg bruger dette til at danne frem og tilbage samt de forskellige sider (der er mere kode i toppen, men det er irrelevant for dette):

<?php

$total_results = mysql_result(mysql_query("select count(*) as num from tester"),0);
$total_pages = ceil($total_results / $max_results);

if($page > 1)
{
  $prev = ($page - 1);
  echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$prev\">Previous</a> ";
}
else{
echo "Previous ";
}


if($total_results > 10){
for($i = 1; $i <= $total_pages; $i++){
    if(($page) == $i){
        echo "$i ";
        } else {
            echo "<a href=\"".$_SERVER['PHP_SELF'].

"?page=$i\">$i</a> ";
    }
}
}


if($page < $total_pages)
{
    $next = ($page + 1);
    echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$next\"> Next</a>";
}


?>

--------

Det virker fint nok, men der bliver dannet en farlig masse enkelte sidetal e.g. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 etc pga denne:

if($total_results > 10){
for($i = 1; $i <= $total_pages; $i++){
    if(($page) == $i){
        echo "$i ";
        } else {
            echo "<a href=\"".$_SERVER['PHP_SELF'].

"?page=$i\">$i</a> ";
    }
}
}

Det ville være lidt pænere hvis man kunne lave det om til:

First Previous 1 2 3..88 89 90 Next Last

Nogen som tilfældigvis har dette kode...? :)
Avatar billede Slettet bruger
30. december 2009 - 11:46 #1
Prøv dette her i stedet for på den rette linje:

        echo "$i ";
        } elseif($i < 4 || $ > $total_pages - 4) {
            echo "<a href=\"".$_SERVER['PHP_SELF'].
Avatar billede Slettet bruger
30. december 2009 - 11:46 #2
Hov, jeg prøver igen:

        echo "$i ";
        } elseif($i < 4 || $i > $total_pages - 4) {
            echo "<a href=\"".$_SERVER['PHP_SELF'].
Avatar billede jacks222 Nybegynder
07. januar 2010 - 15:19 #3
hi kim, smid et svar :)
Avatar billede jacks222 Nybegynder
30. januar 2010 - 18:04 #4
lukker
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