我有一个div,当用户登录/退出时变为绿色/红色
$results = mysql_query("SELECT * FROM `users` WHERE user_id='".$user_id."' LIMIT 1");
if(mysql_num_rows($results ) > 0){
while($row = mysql_fetch_assoc($results)){
if($row['status'] === "1"){
$status = 'online';
}else{
$status = 'offline';
}
}
}
<div class="'. $status .'">username</div>
我如何使它改变$状态而不需要刷新页面来查看更改?因此,如果我的网站上有100个客人,一个用户登录,所有100个客人都将在立即登录的用户旁边看到绿色
任何帮助都非常感谢!
如何显示客人列表?把id attribute
变成username divs
。然后使用long polling
或ajax at regular interval
(假设每1秒一次)来查看谁在线。在ajax success function
中,您可以通过jquery或原生javascript通过Id
编辑div
的颜色。
使用jquery的ajax示例代码,每1秒
function test()
{
$.ajax({
url:url,
data:{postingData:dt},
success:function(response) {
},
error: function (response) {
}
})
}
setInterval('test()',1000);
在php中,你需要搜索你的用户表来选择在线用户,并可以发送所有登录用户的json数组。然后在jquery成功函数中,需要处理这个json数组并更改登录用户的颜色。