実際の Web ページがロードまたは更新された時刻を取得したいと思います。
http リクエストを試みましたが、そのような情報はありません。
ページが読み込まれた後、ajax 関数は 60 秒ごとに新しいメッセージをチェックします。新しいもの (ページの読み込み後に投稿されたもの) のみを表示する必要があります。
よろしくお願いします。
すべてのメッセージにタイムスタンプを付けます。AJAX 関数で、既に持っている最後のメッセージのパラメーターを送信します。それよりも新しいメッセージのみを返します。たとえば、ヒットした AJAX URL は次のようになり/get_messages.php?newer_than=1343041382
ます。
@DaveRandomが述べたように:
time() の結果を $_SESSION に保存するだけです - 例えば $_SESSION['lastPoll'] = time();。次に、サーバーをポーリングして新しいメッセージ "SELECT * FROM messages WHERE message_time > ".$_SESSION['lastPoll'] を探し、格納された値を新しい time() で更新するたびに
メッセージが送信された時間をデータベースに保存し、それをタイムスタンプとして保存すると仮定すると、次のようなものを使用できます。
ページが読み込まれると、現在の時刻を次のように保存できます。
$page_load_time = time();
次に、post または get を使用して、AJAX でロードされたファイルに $page_load_time を送信するだけで、AJAX でロードされた PHP ファイルで、すべての新しいメッセージを取得する SQL クエリを実行できます。多分このようなもの:
$sql = "SELECT * FROM `messages` WHERE `time` > '{$page_load_time}'