【发布时间】:2013-05-22 18:31:07
【问题描述】:
我在 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中的记录时可能会得到事件?
谢谢
【问题讨论】:
-
您可以使用此显示框架来显示推文140dev。 注意它运行在Twitter database server自带的数据库结构上
-
谢谢,我试过了,但是页面末尾的ajax按钮不起作用,我会努力解决的。
标签: php jquery mysql ajax twitter