ページネーションについてお教えいただきたいことがあります。
1.常にレコードが挿入され続けているDBのテーブルがあります。
2.WEBページからそのテーブルに保存されている情報を検索条件を絞って取得し、PHPでのページネーションを使って10件ごとに表示します。
検索条件はカテゴリーID(1~6)とレコードが作成された日にちとお考えください。
3.上の検索条件は指定が必須で、日付指定の箇所で当日を選ぶこともできます。
上記におきまして、リミット・オフセット、オーダーバイ降順(当日検索の場合に、次のページに移る速度よりデータの増える速度の方が早いため、昇順にすると最新の情報にいつまでのたどり着けないため)でページネーションを行うように考えていました。検索時、以下のようなSQLが叩かれるとお考えください。
SELECT `created_at`,`item_detail` FROM {テーブル名} WHERE category_id = 1 AND created_at = "2019-07-26" LIMIT 10 OFFSET {(ページ数 - 1) * 10}
ただ、このままでは例えば1ページ目を表示させた時に最新の10件が表示されますが、次のページに行く時にそれまでに10件以上レコードが増えていたとすれば2ページ目に先ほど見た情報がまた載っていたり、中途半端に新しいレコードから最初の10件を除いた情報が載っていたりすることが想定されます。
この場合、皆さんならどうしますか?どうしていますか?
こちら、ご教授いただけますと幸いです。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。