我的数据库中有100多条记录,所以我使用的是分页,但它会打印每页的页码,如1,2,3,5,以及如何限制分页中显示的数字。
这是我的代码:
$showMonthsQty = 3;
for($i = $showMonthsQty-1; $i >= 0; $i--)
{
$date = new \DateTime(date("Y-m-1")); // First day of the current month
$date->sub(new \DateInterval(sprintf('P%sM', $i))); // Substract $i month (P%dM)
echo $date->format('Y-m-d')."<br />";
}
答案 0 :(得分:1)
显示当前页面的分页+ - 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
答案 1 :(得分:0)
使用您想要显示的数字控制循环。如果您想在分页中显示3页,请执行此操作。
for ($i=1; $i<=3; $i++) {
echo "<li id=".$i." class='pag'>".$i."</a></li> ";
};