我是关于长期民意调查的新手。如果数据库中有任何新数据,我想更新我的墙。所以作为一个小字段,我只是尝试下面的脚本,在index.php页面中连续显示undefined
。
我在server.php on test
中使用了这段代码,效果很好。
while (true) {
$random = rand(1, 10);
$data = ($random == 1) ? array('aaa' => time()) : array();
if (!empty($data)) {
echo json_encode($data);
flush();
exit(0);
}
sleep(5);
}
在这里,当我要实现我的php query
时,我的问题就出现了。
我根本不知道如何做到这一点。
如何在server.php文件中进行查询并在长时间轮询中回显它的数据?
我读了很多关于长期民意调查的文章,但在我的案例中找不到任何好的例子。
我在index.php中的jQuery
function fetch() {
$.ajax({
url: 'http://bdshowbiz.com/server/server.php',
async: true,
type: 'get',
dataType: 'json',
success: function(ret, textStatus, jqXHR) {
$('#response').append('<p>' + ret.aaa + '</p>');
fetch();
},
error: function(jqXHR, textStatus, errorThrown) {
setTimeout(fetch, 5000);
}
});
}
$(function(){
fetch();
});
实现查询后的当前server.php文件(可能是错误的方式)
include("../db.php");
global $dbh;
header('Content-Type: application/json; charset=utf-8');
while (true) {
//fetch data
$results = mysqli_query($dbh,"SELECT * FROM comments_lite WHERE qazi_id='1012' ORDER BY date DESC LIMIT 1") or die(mysqli_error($dbh));
$rows = mysqli_fetch_assoc($results);
$data = $rows['description'];
if (!empty($data)) {
echo json_encode($data);
flush();
exit(0);
}
sleep(5);
}