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...? :)
