Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当用户在DOM中联机时,在第页上通知_Php_Mysql_Notifications - Fatal编程技术网

Php 当用户在DOM中联机时,在第页上通知

Php 当用户在DOM中联机时,在第页上通知,php,mysql,notifications,Php,Mysql,Notifications,当用户进入我的页面并且工作正常时,我可以添加他们的在线状态,但是我想要这样,当某个特定用户的在线状态变为“开”时,我想要脚本发送一个带有css的复合通知,在左角“用户X现在在线”。谢谢你的帮助 目前我有一个Php流程: if(isset($_SESSION['user'])){ $tm=date("Y-m-d H:i:s"); $id=$user->data->id; $q=mysql_query("UPDATE mls_users SET statusonline='ON',tm=

当用户进入我的页面并且工作正常时,我可以添加他们的在线状态,但是我想要这样,当某个特定用户的在线状态变为“开”时,我想要脚本发送一个带有css的复合通知,在左角“用户X现在在线”。谢谢你的帮助

目前我有一个Php流程:

if(isset($_SESSION['user'])){
$tm=date("Y-m-d H:i:s");
$id=$user->data->id;
$q=mysql_query("UPDATE mls_users SET statusonline='ON',tm='$tm' WHERE id='$id'");
} else {
    echo "no user online";
}
$gap=5; # <-time
$tm=date ("Y-m-d H:i:s", mktime (date("H"),date("i")-$gap,date("s"),date("m"),date("d"),date("Y")));
$ut=mysql_query("UPDATE mls_users SET statusonline='OFF' WHERE tm < '$tm'");
if(isset($\u会话['user'])){
$tm=日期(“Y-m-d H:i:s”);
$id=$user->data->id;
$q=mysql_查询(“更新mls_用户设置statusonline='ON',tm='$tm'其中id='$id');
}否则{
回应“没有用户在线”;
}

$gap=5;# 更新代码并添加变量:

From database you can find those users whose status is on line.

对于公共通知,(使用ajax),您可以检查哪些用户的状态为“online='On'”&刷新显示通知的DOM元素。

您是说将通知推送到浏览器,还是在页面加载时,显示用户是否打开。如果是前者,那么这根本不是一个php问题,更多的是Javascript问题。这是一个你用什么来构建前端的问题。将数据推送到浏览器的最佳解决方案(imo)是getstream.io,而不是页面加载。。当用户状态为“在线”时,将通知推送到浏览器。所需的范围超出了简单的答案。您需要一个Javascript框架和DOM元素来推动。然后,定期调用服务器上的api或打开套接字。老实说,你最好花点时间在谷歌上搜索教程,然后在这里得到答案。这不是发问者想要的。这是一个需要的现场推送。虽然我同意这要简单得多。