1. ホーム
  2. マイスル

[解決済み】MySQLデータ - ページングを実装するための最良の方法?

2022-04-05 01:20:08

質問

私のiPhoneアプリケーションは、MySQLデータベースからデータを取得するためにPHPウェブサービスに接続し、リクエストは最大500の結果を返すことができます。

ページングを実装し、一度に20項目を取得する最良の方法は何ですか?

データベースから最初の20件を受け取ったとすると、次の20件を要求するにはどうしたらよいでしょうか?

どのように解決するのですか?

MySQLドキュメントより :

LIMIT 句は、SELECT 文が返す行数を制限するために使用できます。LIMITは1つまたは2つの数値引数を取り、それらは両方とも非負の整数定数でなければなりません(プリペアド ステートメントを使用する場合を除く)。

引数が2つの場合、最初の引数は返すべき最初の行のオフセットを指定し、2番目の引数は返すべき行の最大数を指定します。最初の行のオフセットは0です(1ではありません)。

SELECT * FROM tbl LIMIT 5,10;  # Retrieve rows 6-15

あるオフセットから結果セットの最後までのすべての行を取得するには、2番目のパラメータに大きな数字を使用します。この文は、96行目から最後の行までのすべての行を検索します。

SELECT * FROM tbl LIMIT 95,18446744073709551615;

引数1つで、結果セットの先頭から何行目まで返すかを指定する。

SELECT * FROM tbl LIMIT 5;     # Retrieve first 5 rows

つまり、LIMIT row_countはLIMIT 0, row_countと等価です。