foreach 関数を使用して結果をフェッチして表示するコードがありますが、多くの結果が返されるため、ページの読み込みが非常に遅いという問題があります。これらの結果を 1,2,3,4 のようなページに分割し、ページごとに 10 個の結果のみを表示する方法はありますか?
私のコードは
foreach ($results[1] as $url)
{
echo "<a href='$url'>$url</a> <br>";
$i++;
}
foreach 関数を使用して結果をフェッチして表示するコードがありますが、多くの結果が返されるため、ページの読み込みが非常に遅いという問題があります。これらの結果を 1,2,3,4 のようなページに分割し、ページごとに 10 個の結果のみを表示する方法はありますか?
私のコードは
foreach ($results[1] as $url)
{
echo "<a href='$url'>$url</a> <br>";
$i++;
}
このPHP CLASSが役立つかもしれません: http://www.phpsnaps.com/snaps/view/simple-php-pagination-class/
データがデータベースからのものである場合は、LIMIT
句を使用してすでにそこに制限する必要があります。
データのソースを制御できない場合は、array_slice()
onを使用し$results[1]
て、表示するページ番号とアイテムの数に基づいて、必要なセクションを取得できます。
$partial_results = array_slice($results[1], ($page_number - 1) * $items_to_show, $items_to_show);