ウェブサイトを開発するとき、ページングは非常に一般的な要件です。特に、データベースから多くのデータを取得した場合、すべてを一度に直接表示すると、ページがゆっくりと読み込まれる可能性があります。 PHPはArray_Chunk関数を提供します。これにより、配列を複数の小さな配列に簡単に分割でき、データページングを実装できます。この記事では、サンプルコードを使用して、 array_chunkを使用してデータをページングし、単純なページネーションコンポーネントを生成する方法を示します。
array_chunkは、配列を複数の小さなアレイに分割するために使用されるPHPの組み込み関数です。各小さな配列のサイズは、指定するパラメーターによって決定されます。その基本的な構文は次のとおりです。
array_chunk(array $array, int $size, bool $preserve_keys = false) : array
$配列:ページングする元の配列。
$サイズ:ページごとに表示される要素の数。
$ preserve_keys :配列の元のキーを保持するかどうか、デフォルトでfalseになります。
複数のデータを含む配列があるとしますが、 Array_Chunkを使用してデータをページングします。これが完全なコードの例です。
<?php
// データのバッチをシミュレートします
$data = [
"Item 1", "Item 2", "Item 3", "Item 4", "Item 5",
"Item 6", "Item 7", "Item 8", "Item 9", "Item 10",
"Item 11", "Item 12", "Item 13", "Item 14", "Item 15"
];
// ページごとに表示されます 5 データ
$perPage = 5;
$totalPages = ceil(count($data) / $perPage); // ページの総数を計算します
// 現在のページカウントを取得します
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
// ページ番号が小さくなるのを防ぎます 1 またはページの最大数以上
$page = max(1, min($page, $totalPages));
// 使用 array_chunk データをパジネートします
$paginatedData = array_chunk($data, $perPage);
// 現在のページのデータを取得します
$currentPageData = $paginatedData[$page - 1];
// 現在のページデータを表示します
echo "<h2>現在のページデータ:</h2>";
foreach ($currentPageData as $item) {
echo "<p>$item</p>";
}
// ページングリンクを生成します
echo "<div class='pagination'>";
for ($i = 1; $i <= $totalPages; $i++) {
$url = "https://m66.net/page=$i"; // 改訂 URL のために m66.net
echo "<a href='$url'>$i</a> ";
}
echo "</div>";
?>
データの準備:まず、15個のデータを含む配列$データをシミュレートしました。
ページングの計算:ページごとに表示するように5つのデータを設定し、天井(count($ data) / $ perage)で必要なページの総数を計算します。
現在のページ番号を取得します: $ _get ['page']を使用して、現在のページ番号を取得します。ページ番号が提供されていない場合、デフォルトはページ1です。ページ番号がページの総数より1以上のことを確認するには、境界処理に最大およびMIN関数を使用します。
Paginationにarray_chunkを使用: array_chunkは、ページ$ perpagesごとに表示されるデータの数に基づいて、データを複数のサブアレイに分割します。 $ paginateddata [$ page -1]を使用して、現在のページのデータを取得します。
表示データ:現在のページのデータは、単純なforeachループを介してページに表示されます。
ページングリンクの生成:各ページのリンクを生成するためにループすることにより、リンクのドメイン名がM66.netに置き換えられ、ページ番号は$ _get ['page']に渡されます。
上記のコードを通じて、データページングを実装し、簡単なページングコンポーネントを生成しました。このページングコンポーネントは、ページの総数に基づいてリンクを生成します。ユーザーが異なるページ番号をクリックすると、対応するデータをロードできます。
array_chunkは、ページネーションディスプレイのために大きな配列を複数の小さな配列に分割するのに適した非常に便利な機能です。シンプルなページングコンポーネントと組み合わせることで、ユーザーフレンドリーなページング機能をすばやく実装できます。このようにして、特に大量のデータを処理する場合、ウェブサイトのパフォーマンスを効果的に改善できます。
うまくいけば、この記事がarray_chunk関数を使用してデータをページングし、簡単なページングコンポーネントを作成する方法を理解するのに役立つことを願っています。ご質問がある場合は、お気軽にご質問ください!