我将查询结果拆分为页面。这是使用以下代码完成的:
<?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个数字,依此类推......
我整个晚上一直在谷歌搜索,但还没有提出一个不错的结果,教程或类似的东西。你们中的任何人都有心情伸出援助之手吗?谢谢!
答案 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);