【发布时间】:2014-04-14 15:34:37
【问题描述】:
请帮我实现用户的新消息通知。
现在我有了这个客户端代码:
function getmess(){
$.ajax({
url:"notif.php",
data:{"id":id},
type:"GET",
success:function(result){
$("#count").html(result);
setTimeout('getmess',10000);
}
});
}
还有这个服务器代码:
$mysqli = new mysqli('localhost', 'root', '', 'test');
if (mysqli_connect_errno()) {
printf("error: %s\n", mysqli_connect_error());
exit;
}
session_start();
$MY_ID = $_SESSION['id'];
while (true) {
$result = $mysqli->query("SELECT COUNT(*) FROM messages WHERE user_get='$MY_ID'");
if (mysqli_num_rows($result)) {
while ($row = mysqli_fetch_array($result)) {
echo $row[0]."";
}
flush();
exit;
}
sleep(5);
}
我的问题是,当新消息添加到数据库时,此脚本没有实时更新。但是,如果我按下带有 onclick="getmess();" 的按钮它有效。
【问题讨论】:
-
所以你已经发布了一个 SQL 请求。那么,您的代码在哪里?你的问题呢?
-
我已经更新了我的代码。
标签: php mysql ajax long-polling