Pagination与php限制链接的数量从get变量


Pagination with php limit number of links from get variable

我正在制作一个简单的图片库,遇到了一个障碍。它只是显示一些图像,并使用分页将每页16个图像分开。这一切都和我当前的分页一样工作。然而,我的分页栏上有101个按钮。我想将其限制在8页的范围内,当前页面的两侧各4页,如果在开始或结束等,则两侧各8页。我的current_page和last_page变量只是一个来自页面地址的get变量。有什么简单的方法可以做到这一点吗?

for ($i = 1; $i < ($last_page + 1); $i++) {
    if ($current_page == $i) {
        echo '<li class="active"><a href="?page=' . $i . '">' . $i . '</a></li>';
    } else {
        echo '<li><a href="?page=' . $i . '">' . $i . '</a></li>';
    }
}
$currentPage = 4;
$numberPages = 8;
$maxPages = 106;
for ($i = $currentPage - ((int)($numberPages/2)), $pages = 0; $pages < $numberPages && $i <= $maxPages; $i++) {
    if ($i > 0) {
        if ($i == $currentPage) {
            echo '<li class="active"><a href="?page='.$i.
            '">'.$i.
            '</a></li>';
        } else {
            echo '<li><a href="?page='.$i.
            '">'.$i.
            '</a></li>';
        }
        $pages++;
    }
}

按照这些行应该可以工作