0

MySQL テーブルの行を表示するいくつかのページでページネーションを作成しようとしています。各ページには、表の 6 つの項目が表示されます。私は while ループを使用しています:

$row_users = mysqli_fetch_array($result_users, MYSQL_NUM);

結果がなくなるまで結果をループし続けます (完全なコードを含めますが、それは非常に大量の要素の一部です)。次のように、ページ ID からの GET 変数があります。

$page = $_GET['page'];

基本的に、各ページの特定の行でフェッチ配列を開始したいと考えています。たとえば、http://www.example.com? page= 2 では、テーブルの 13 行目 (($page*6)+1) から開始したいと考えています。

私の質問は、fetch_array を特定の行から開始するにはどうすればよいですか? 私はこの投稿を見ました:Mysqli fetch array nth rowですが、ループを開始してその行を超えて続行するのではなく、特定の行を取得するだけです。これを行う方法がどこにも見つからないようです。おそらく私は間違ったことをグーグルで調べています...あなたの助けに感謝します!

4

1 に答える 1

3

不要な行をフェッチするときにスキップしようとするよりも、MySQLにそれらの行を生成しないように指示する方が効率的です。SELECTクエリの最後にLIMIT句を使用して、MySQLに必要な行のみを生成させます。

http://dev.mysql.com/doc/refman/5.0/en/select.html

于 2012-11-25T23:07:16.817 に答える