[英]limit pages shown in pagination php script
我的數據庫中有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>";
?>
顯示當前頁面的分頁+-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
用您要顯示的數字控制循環。 如果要分頁顯示3頁,請執行此操作。
for ($i=1; $i<=3; $i++) {
echo "<li id=".$i." class='pag'>".$i."</a></li> ";
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.