ページングに関しては、前のページ/次のページのみが表示される場合を除き、開始ページと終了ページを計算する必要があり、多くの if-else を使用して実装されているコードをよく見かけます。大量のコードがあり、簡潔ではないため、3 行のコードのみを必要とするアルゴリズムを提供します。
優れたページング アルゴリズムには次の利点があるはずです:
現在のページ番号はできるだけ中央に配置する必要があります。
「ホーム」と「最後」が使用できない場合 (現在最初または最後のページにある)、リンク ボタンの位置が変更されないように、これら 2 つのテキスト グループを非表示にしないでください。
アルゴリズムはシンプルです。次のアルゴリズムには、上記の 1 と 3 の 2 つの利点があります。
PHP:
// $curr_index、現在のページ番号。// $link_count、リンクの数。
// $page_count、現在のデータの総ページ数。
// $start、表示時の開始ページ番号。
// $end、表示時の終了ページ番号。
$start = max(1, $curr_index - intval($link_count/2));
$end = min($start + $link_count - 1, $page_count);
$start = max(1, $end - $link_count + 1);
JavaScript:
start = Math.max(1, curr_index - parseInt(link_count/2));end = Math.min(page_count, start + link_count - 1);
start = Math.max(1, end - link_count + 1);

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

メモ帳++7.3.1
使いやすく無料のコードエディター

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
