ホームページ php教程 php手册 3 行のコードのページング アルゴリズム (開始ページと終了ページの検索)

3 行のコードのページング アルゴリズム (開始ページと終了ページの検索)

Jun 21, 2016 am 08:52 AM
count end link start

ページングに関しては、前のページ/次のページのみが表示される場合を除き、開始ページと終了ページを計算する必要があり、多くの 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);



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

docker start が起動できない場合はどうすればよいですか? docker start が起動できない場合はどうすればよいですか? Oct 21, 2022 pm 03:43 PM

docker start が起動できない場合はどうすればよいですか?

キーボードの終了キーはどのキーですか? キーボードの終了キーはどのキーですか? Mar 10, 2023 am 11:30 AM

キーボードの終了キーはどのキーですか?

カウンタとカウントの違い カウンタとカウントの違い Nov 20, 2023 am 10:01 AM

カウンタとカウントの違い

リンクとインポートの違いについて詳しく説明します。両者の違いは何ですか? リンクとインポートの違いについて詳しく説明します。両者の違いは何ですか? Jan 06, 2024 am 08:19 AM

リンクとインポートの違いについて詳しく説明します。両者の違いは何ですか?

ノードの起動でエラーが報告された場合の対処方法 ノードの起動でエラーが報告された場合の対処方法 Dec 29, 2022 pm 01:55 PM

ノードの起動でエラーが報告された場合の対処方法

リンクタグとインポートの違いは何ですか? リンクタグとインポートの違いは何ですか? Aug 28, 2023 am 11:19 AM

リンクタグとインポートの違いは何ですか?

インポートとリンクの違いは何ですか インポートとリンクの違いは何ですか Nov 24, 2023 pm 02:15 PM

インポートとリンクの違いは何ですか

リンクタグとタグの違い リンクタグとタグの違い Feb 19, 2024 pm 06:16 PM

リンクタグとタグの違い

See all articles