[英]PHP Pagination - Limit amount of links
所以我有這樣的分頁鏈接。
for ( $counter = 0; $counter <= $page_amount; $counter += 1) {
echo "<a href=\"section.php?q=$section&p=$counter\">";
echo $counter+1;
echo "</a>";
}
鏈接增長如下:
1 2 3 4 5 6 7等。
但我想限制此范圍,因此,如果有7個以上的頁面,它將僅顯示7個這樣的鏈接:
1 2 3 ... 10 11 12
最后一頁是12。
而且,如果您轉到下一頁,則只會更改首頁,如下所示:
3 4 5 ... 10 11 12
直到您到達最后7頁,如下所示:
6 7 8 9 10 11 12
我該怎么做呢 ??
請幫忙。
這是一種方法。
// Set some presets
$current_page = 0;
$page_amount = 11;
$limiter = 7;
// Set upper and lower number of links
$sides = round(($limiter/2), 0, PHP_ROUND_HALF_DOWN);
for ( $counter = 0; $counter <= $page_amount; $counter++) {
// Start with Current Page
if($counter >= ($current_page)){
// Show page links of upper and lower
if(($counter <($current_page+$sides))||($counter >($page_amount-$sides))){
echo "<a href=\"section.php?q=$section&p=$counter\">";
echo $counter+1;
echo "</a> ";
}
// The middle link
elseif($counter ==($current_page+$sides)){
echo "<a href=\"page.php?p=$counter\">";
// Show number if number of links == $limiter
if(($page_amount-$current_page)==$limiter-1){
echo $counter+1;
}
// Show '...' number of links > $limiter
else {
echo "...";
}
echo "</a> ";
}
}
}
這允許更改顯示的鏈接數,即。 從7到9。
注意,在round()
使用PHP_ROUND_HALF_DOWN
需要php> = 5.3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.