1

データをページネーション形式で表示するphpページを実装しています。私の問題は、これらのデータがリアルタイムで変化することです。ユーザーが次のページをリクエストすると、最後のIDを送信し、クエリが実行されて、値がリアルタイムで変化する列によって最後のIDの順序からさらに10行を取得します。たとえば、20行あります。

Id 1    col_real_time 5
Id 2    col_real_time 3 
Id 3    col_real_time 11

データcol_real_timeを昇順で並べ替えたので、結果は次のようになります。

id 2, id 1, id 3

col_real_timeユーザーが次のページのリクエストを送信する前に、29でリアルタイムID 2が変更され、ユーザーは次の結果のリクエストを送信します。ID2は29であるため、すでに表示されています。

どのようにできるのか?

今リアルタイムでID2の変更

4

2 に答える 2

2

ページが数ページしかない場合は、次のことができます。

  1. データベースサーバーに戻るのではなく、セッションに保存してページをめくります。

  2. それをJSONオブジェクトリストに保存し、Jqueryを使用してそれを読み取り、ページをめくります。

  3. 生成タイムスタンプ、user_idおよびsession_idを示す一時テーブルに保存し、ページをめくります。

于 2012-09-21T23:53:24.633 に答える
2

データがユーザーに変更されていないように見せたくない場合は、基本的にデータのスナップショットを作成する必要があります。これはSQLで非常に効率的に実行できるものではないため、結果セット全体を、ページ間で永続化できるPHPセッション変数にダウンロードすることをお勧めします。そうすれば、オンデマンドで行を取得できます。同じことを効果的に実行するJavascriptウィジェットがありますが、結果セット全体をクライアントに送信します。これは、データが多い場合はお勧めできません。

これは、純粋なSQLページネーションほど簡単ではありません。保存されている変数が不要になったときに、その変数を削除する責任を負う必要があるためです。そうしないと、すぐにメモリが不足します。

于 2012-09-21T23:44:38.677 に答える