最新のものから古いものへの逆順で動作するコメントシステムを作成しようとしていますが、論理と私はいくつかの助けが必要です。「その他のコメントを読み込む」リンク無限のスクロールページネーションを使用してデータを逆順に取得
のは、私のデータベースが今4つのコメントの合計が含まれているとしましょう:
['comment1', 'comment2', 'comment3', 'comment4'];
はのは、クライアントが最新の1件のみに発注、2当たりコメント2をロードするとしましょう。だから私は、最初から2つのコメント(制限2)を返すようにサーバーに要求を送る(オフセット0)。これまでのところ、次のようになります。
['comment3', 'comment4']
これら2つのコメントはクライアントに表示されていますが、別のユーザーがデータベースにコメントを追加しました。それは次のようになります。クライアントの要求はより多くのコメントをロードするときに
['comment1', 'comment2', 'comment3', 'comment4', 'comment5'];
、それが限界2を要求します、2をオフセット、以下れるであろう。ここでは
['comment2', 'comment3'];
は私の問題です。コメント3はすでにロードされており、クライアント側で複製されます。コメント5は決して読み込まれません。
これはどうやって正しく処理できるのですか?コメントの数が変化すると、オフセットを管理するのが難しくなります。
私はオフセットの代わりに日付ごとのコメントを得ることも考えていましたが、かなり複雑になりました。
これを管理する最適なソリューションは何でしょうか?あなたは次のあなたが別の結果を達成するために、比較を微調整することができ、コメント1と2を表示したいと仮定し
SELECT * FROM comments WHERE id<x LIMIT 2 OFFSET 2
(:
おかげ
最後のコメントのdatetimeまたはidをHTMLまたはJavascript値として保存できます。コメントをロードすると、公開された* old *および* new *コメントをサーバーに送信することができますその日時またはIDの後。 –