我正在努力创建我的第一个“新闻页面”。我试图做一个简单的分页,而不是滚动到永恒,以获得更好的用户体验。
到目前为止,我已成功:
X
个新闻数我缺少的是,如果有很多新闻,将会显示大量的页面。如果我能够限制显示的页面数量会更好:
例如;如果我在第5页,我应该能够看到,第2,3,4,5,7,8,8页。
如何将其实现到我的代码中?我对此非常不确定。
我的代码
<?
$sqlDos = "SELECT COUNT(id) FROM articles";
$rs_result = mysqli_query($con, $sqlDos);
$row = mysqli_fetch_row($rs_result);
$total_records = $row[0];
$total_pages = ceil($total_records / $limit);
$pagLink = "<div class='pagination'>";
for ($i=1; $i<=$total_pages; $i++) {
if ($i == $page) {
$pagLink .= "<a class='active' href='#'>".$i."</a>";
} else {
$pagLink .= " <a href='news.php?page=".$i."'>".$i."</a>";
}
};
echo $pagLink . "</div>";
?>
我希望你能花时间解释如何做到这一点,因为这是我的第一个项目。
非常感谢! : - )
修改 我只显示了相关的代码,因此可能缺少某些变量来显示它们是什么 - 如果您认为某些内容丢失,请告诉我们。)
答案 0 :(得分:0)
将当前页码发布到PHP脚本并应用以下逻辑:
$startPage = 1;
$endPage = $page+ 3;
if($currentPageNo > 3){
$startPage = $page - 3;
}
for ($i=$startPage; $i<=$endPage; $i++) {
if ($i == $page) {
$pagLink .= "<a class='active' href='#'>".$i."</a>";
} else {
$pagLink .= " <a href='news.php?page=".$i."'>".$i."</a>";
}
};