我在分页部分的末尾,它被要求只允许底部有几个页码链接。如果当前页面存在,则在当前页面之前和之后各两个页面。
if($pagination->total_pages() > 1) {
if($pagination->has_previous_page()) {
echo "<a href='"results.php?page=";
echo $pagination->previous_page();
echo "'">« Previous</a>";
}
for($i = 1; $i <= $pagination->total_pages(); $i++) {
if($i == $page) {
echo "<span class='"current'">{$i}</span>";
} else {
echo "<a href='"doc_list.php?page={$i}'">{$i}</a>";
}
}
if($pagination->has_next_page()) {
echo "<a href='"results.php?page=";
echo $pagination->next_page();
echo "'">Next »</a>";
}
}
我将非常感谢任何指导,因为我不知道如何解决这个问题。
要显示当前页面加/减2,首先计算要显示的最小和最大页码:
$min = max($page - 2, 1); // there are no pages < 1
$max = min($page + 2, $pagination->total_pages()); // and no pages > total_pages
然后显示链接:
for($i = $min; $i <= $max; ++$i) {
if($i == $page) {
echo "<span class='"current'">{$i}</span>";
} else {
echo "<a href='"doc_list.php?page={$i}'">{$i}</a>";
}
}
您可能还想显示上面的第一个/上一个/下一个/最后一个页面链接,但在破解之前,我们需要有一个关于结果的规范。