我的数据库中有100+记录,所以我使用分页,但它会打印每一页的页码,比如1、2、3、5等等,如何限制分页中显示的页数。
下面是我的代码:
$row_offer2=mysqli_num_rows($sql_result2);
$total=ceil($row_offer2/$num_rec);
echo "<div class='col-md-12' style='margin:0 auto;text-align:center;'><ul
class='pagination '>";
echo "<li id='1' class='pag'>".'|<'."</li>"; // Goto 1st page
for ($i=1; $i<=$total; $i++) {
echo "<li id=".$i." class='pag'>".$i."</a></li> ";
};
echo "<li id=".$total." class='pag'>".'>|'."</a></li> "; // Goto last page
echo "</ul></div>";
?>
发布于 2018-05-31 19:34:09
显示当前页面的分页+- x个页面(x应该类似于2-3),并显示第一页和最后一页。
$currentPage = 6;
function getPages($cp, $max, $offset) {
$pages = [];
$pages[] = 1;
$min = ($cp - $offset) > 1 ? $cp - $offset : 1;
$lim = ($cp + $offset) < $max ? $cp + $offset : $max;
for ($i = $min; $i < $lim; $i++) {
$pages[] = $i;
}
$pages[] = $max;
return array_unique($pages);
}
var_dump(getPages($currentPage, 20, 3));
然后,您可以简单地使用从该函数接收到的foreach通过数组进行循环,并显示您的LI
发布于 2018-05-31 19:31:00
用你想要显示的数字控制你的循环。如果你想以分页的方式显示3个页面,只需这样做。
for ($i=1; $i<=3; $i++) {
echo "<li id=".$i." class='pag'>".$i."</a></li> ";
};
https://stackoverflow.com/questions/50623203
复制相似问题