我有一个插入表格行到MYSQL数据库的insertUpdate.php,
<?php $userid=$_POST["userid"]; $timestamp=$_POST["timestamp"]; $addALine="INSERT INTO myDatabase (userid,timestamp) VALUES ('$userid','$timestamp')";
$intoDatabase=mysql_query($addALine); ?>以及将表格显示为网页的showUpdate.php,
while ($latestRow=mysql_fetch_row($result) )
{ $data .= "<tr><td>".$latestRow[0]." </td><td> ".$latestRow[1]."</td></tr>\n";
}我不想像<?php header('Refresh: 8'); ?>那样每隔几秒设置一次自动刷新。
当insertUpdate.php在数据库中插入新条目时,如何触发showUpdate.php的刷新/重新加载?谢谢你的帮助!
发布于 2010-11-19 00:21:56
网页是无状态的。一旦你发送了响应,一切都结束了。
如果你想让网页找到一条新的记录,它将不得不轮询服务器,询问是否有新的记录。您不能将通知从服务器发送到服务页面。
发布于 2010-11-19 00:23:41
您可以使用AJAX(在后台)轮询数据库,并在添加新条目时刷新页面。
因为http是无状态协议,所以除了刷新或轮询之外没有其他选择。
发布于 2010-11-19 00:26:24
使用XMLHttpRequest来保持页面状态。
setInterval(function(){ // every 10 seconds
// using jQuery
$('#container').load('/showUpdate.php'); // load php page into #container
}, 10000);网页中没有数据库何时发生更改的事件。
https://stackoverflow.com/questions/4216967
复制相似问题