如何在php中定期将数据推送到用户界面

如何在php中定期将数据推送到用户界面,php,mysql,Php,Mysql,我需要用PHP和MySql实现一个简单的项目,当其他人更新数据库时,我需要将数据推送到用户的UI,我也需要定期这样做,这样当其他人访问同一个表并修改它时,另一个使用UI的人可以看到更新,对不起,如果我是愚蠢的,但到目前为止,我只知道将数据保存到数据库,然后检索并向用户显示它(最简单的数据库连接形式)。我如何在php中实现这一点,请有人在这件事上帮助我,如果答案详细解释了事情,这是很好的,因为我对这方面非常新手。提前感谢 rangana。这些主题可能会让您开始学习: 如果网页没有要返回的数据,则

我需要用PHP和MySql实现一个简单的项目,当其他人更新数据库时,我需要将数据推送到用户的UI,我也需要定期这样做,这样当其他人访问同一个表并修改它时,另一个使用UI的人可以看到更新,对不起,如果我是愚蠢的,但到目前为止,我只知道将数据保存到数据库,然后检索并向用户显示它(最简单的数据库连接形式)。我如何在php中实现这一点,请有人在这件事上帮助我,如果答案详细解释了事情,这是很好的,因为我对这方面非常新手。提前感谢


rangana。

这些主题可能会让您开始学习:


如果网页没有要返回的数据,则在轮询数据库时让网页等待一段时间。您必须使用sleep语句以避免使服务器达到最大值

警告:某些服务器不允许用户在某个页面正在运行时打开另一个页面,这在某些情况下可能会导致您出现问题。因此,要么不要将页面打开太久,要么尝试让ajax页面使用不同的会话

// do this when you have put new data in to database
setappdata("lastupdate",microtime(true));

// use this loop to poll for new data
$loop = 0;
$lastupdate=$_SESSION["lastupdate"];
while ($lastupdate==$last=getappdata("lastupdate") and $loop<10) {
   $loop++;
   usleep(500000);  //0.5sec
}     

// use a table called appdata to store application data
function getappdata($var) {
   $query = "SELECT data FROM appdata WHERE var='$var'";
   $res1=mysql_query($query);
   if (mysql_numrows($res1)<1) return false;
   return mysql_result($res1,0,"data");
}

function setappdata($var,$data) {
   $query = "SELECT data FROM appdata WHERE var='$var'";
   $res1=mysql_query($query);
   if (mysql_numrows($res1)>0) $query = "UPDATE appdata SET data='$data' WHERE var='$var'";
   else $query = "INSERT INTO appdata SET var='$var',data='$data'";
   return mysql_query($query);
}
//将新数据放入数据库后执行此操作
setappdata(“lastupdate”,微时间(真));
//使用此循环轮询新数据
$loop=0;
$lastupdate=$\会话[“lastupdate”];

虽然($lastupdate==$last=getappdata(“lastupdate”)和$LOOP不能用PHP实现这一点,但必须定期从客户端UI查询/轮询以检查新的更新。