0

最近、ページネーションで問題が発生しました。たまたま 100 ページほどあるため、明らかにページネーションが長くなりすぎています。

今、いくつかのリンクを削除してこれを防ぎたいので、代わりに

1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10

として示したい。

1 - 2 - 3 - 4 - 5 - ... - 10

または、4ページ目にいるとき

1 - ... - 4 - 5 - 6 - ... 10

現時点で、ページネーションを表示するスクリプトは次のようになります。

$links = array();
for($i = 0; $i < $totalPages; $i++) {
    array_push($links, $i);
    }

foreach($links as $pageLink) {
    if($pageLink == $page) {
    $pagination .= "<li><a href='" . BASE_URL . $url . $pageLink . ".html' class='active'>" . ($pageLink + 1) . "</a></li>";
    } else {
        if($pageLink === '...') {
            $pagination .= "<li><a href='#'>...</a></li>";
        } else {
            $pagination .= "<li><a href='" . BASE_URL . $url . $pageLink . ".html'>" . ($pageLink + 1) . "</a></li>";
        }
    }   
}

これを簡単に調整できるように、すべてのリンクを配列に追加しましたが、そのようなページネーションを取得する方法がわかりません。

4

1 に答える 1

1

どういうわけか、現在のページ番号と最後のページ番号を取得できます。現在のページを表すページャー アイテムは、他のページと多少異なる必要があります。ページ番号が 3 以下の場合は 1 2 3 ... LastPageNumber を表示し、現在のページが LastPageNumber - 2 以上の場合、ページングは​​ 1 ... 67 68 69 のようになります。 1 ... 30 31 32 33 34 ... 69 のようになります (この例では、現在のページは 32 です)。

于 2012-06-26T13:45:22.777 に答える