1

私は mysql で twitter ストリーミング データを使用しており、5 ~ 10 レコード/秒ごとに追加し続けています。ここで、クライアントがページを開いたときに開始され、ページが閉じるまで継続的に作成されたすべての新しいレコードを取得したいと考えています。データは、マップをマークするための地理的位置を含む json であり、javascript 変数内にある必要があります。json 形式は次のとおりです。

{max data: 30; data: [{"lat":-6.92015,"lon":107.67024,"value":0.1},...]}

私はAJAXを掘り下げてきましたが、成功していません。ここに私の現在のコード:

get_query.php

<?php
require_once('./db_connect.php');
$dbcon=new db;

$query="SELECT geo_lat, geo_long FROM location WHEN created_at >= NOW()";

$result = mysqli_query($dbcon, $query);
$data= array(); 

while($row= mysqli_fetch_assoc($result)){
    $data[] = array("lat"=>(float)$row["geo_lat"], "lon"=>(float)$row["geo_long"], "value"=>0.1);
}

echo json_encode($data);
?>

data.js

var data = new array();

$(function() {
setInterval(function() {
    $.ajax({
        type: "GET",
        url: "/absolute/path/of/get_query.php",
        dataType: "json",
        data: $(this).serialize(),
        success: function(response) {
           data = response;
       }
    });
}, 1000);
});

私の質問: 1. ユーザーがページを開いた後、php コードを継続的に実行するにはどうすればよいですか? 2. ajax で以前のデータを削除せずに、PHP から継続的にデータを取得する方法は? 3.ユーザーがページを閉じてmysqlのレコードを空にするときにイベントを取得する可能性がありますか?

ありがとう

4

1 に答える 1