我对实时数据库有一些疑问。
这意味着当数据库更改该值时,页面将直接显示类似 Live Chat 的内容。
Language : Jquery + PHP
Example:
MySQL Database:
Table : user
column : username,Status,Date,TodayOnline
Data : [Kenny, Online,15/03/2013,0],[David, Offline,16/03/2013,1]
Action:
When David going to online, it will show at page directly by using replace the "Kenny is now Online" with "David is now online"
and show Today online time mean how many time he is only today.
Screen Show:
David Is Now Online (Today Online : 1)
希望你们明白我的意思,我不知道如何通过 ajax 来做到这一点,或者谁能告诉我如何让 ajax 每秒运行或任何其他好主意来立即/实时显示它?
提前致谢。
更新
这是我的代码 JS
$.ajax({
type: "post",
url: "/checkOnline.php",
cache: false,
data:{ date: $("#date").val(),time: $("#time").val()},
success: function(responds){
var obj = JSON.parse(responds);
try{
('#online').text(responds+" Is Now Online");
}catch(e){
alert('Exception while request..');
}
},
error: function(XMLHttpRequest, textStatus, errorThrown){
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
}
});
在这里和我的索引代码,我添加了隐藏输入框以获取当前日期时间。
<input name="date" id="date" value="<?= date('Y-m-d') ?>" style="display:none"/>
<input name="time" id="time" value="<?= date('H:i:s') ?>" style="display:none"/>
这是我的 checkOnline.php
<?php
$query = "Select username FROM user WHERE status='online'";
$result = mysql_query($query);
echo json_encode($result)
?>
当有人使用 jquery 加载页面时,我运行 ajax,但我知道这是一个坏主意,但我不知道如何让它生效。
谢谢