展开页面导航已拆分查询结果

时间:2013-03-24 21:33:06

标签: php sql navigation

我将查询结果拆分为页面。这是使用以下代码完成的:

    <?php 
    if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; }; 
    $start_from = ($page-1) * 10; 
    $sql = "SELECT * FROM profiles where hoofdrubriek = '".$rubriekpage2."'  ORDER BY bedrijfsnaam LIMIT $start_from, 10"; 
    $rs_result = mysql_query($sql);

while ($row = mysql_fetch_assoc($rs_result)) { 

echo a result....

}

?>

接下来是为单独的页面创建导航:

<?php

if(mysql_num_rows($rs_result)!=0){

?>

<br /><div style="margin-left:200px;width:300px;text-align:center;background-color:">Pagina's:<br clear="left"> 


<?php 
$sql = "SELECT COUNT(bedrijfsnaam) FROM profiles where hoofdrubriek = '".$rubriekpage2."'"; 
$rs_result = mysql_query($sql); 
$row = mysql_fetch_row($rs_result); 
$total_records = $row[0]; 
$total_pages = ceil($total_records / 10); 

if ($total_pages>10) $total_pages=10;
for ($i=1; $i<=$total_pages; $i++) { 
            echo "<a style=\"float:none;display:inline-block;color:white;width:22px;text-align:center;text-decoration:none;font-size:20px;background-color:#483435;margin-left:4px\" href='".$plaatsnaam7.".php?page=".$i."'>".$i."</a> "; 

}; 
?>

到目前为止一切都很好,没有问题。但是:我限制在10页,就是这样。当然我可以改变数字说25,但我真正想要的是我的'数字'导航旁边的上一个和下一个按钮。如果页面超过10页,请在右侧放置下一个按钮,显示下10个数字,依此类推......

我整个晚上一直在谷歌搜索,但还没有提出一个不错的结果,教程或类似的东西。你们中的任何人都有心情伸出援助之手吗?谢谢!

1 个答案:

答案 0 :(得分:0)

检查当前页面是不是第一页,如果接下来的10页有效,如果是,则显示上一页,下一页和页面链接。

 function page_link($i) {
      echo "<a style=\"float:none;display:inline-block;color:white;width:22px;text-align:center;text-decoration:none;font-size:20px;background-color:#483435;margin-left:4px\" href='".$plaatsnaam7.".php?page=".$i."'>".$i."</a> "; 
  }

  function page_next($i){
       // link to page $i with arrow right
  }
  function page_prev($i){
      // link to page $i with arrow left
  }
 $s = $_GET['page'];
 if ($s > 1) page_prev($s - 1);
 for  ($i = $s; $i * 10 < $total_count && $i < $s + 10; $i++) { 
      page_link($i);
 }
 if (10 + $i * 10 < $total_count) page_next($i+1);