2010-11-18 71 views
2

我有一个insertUpdate.php其中插入表行到MYSQL数据库,如何在添加新数据库条目时触发刷新(重新加载).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?谢谢你的帮助!

+0

你使用的是一个js库吗? jQuery的? – 2010-11-18 16:23:00

回答

3

网页是无状态的。一旦你发送回应,它就结束了。

如果你想要一个网页找出新的记录,它将不得不轮询服务器,询问是否有任何新的记录。您无法从服务器向服务页发送通知。

+0

但与HMTL5,你将能够尽快。 WebSockets和窗口事件... – 2010-11-18 16:24:08

0

您可以使用AJAX(在后台)轮询数据库,并在添加新条目时刷新页面。

由于http是无状态协议,除了刷新或轮询之外,没有其他选项。

0

使用XMLHttpRequest保持页面状态。

setInterval(function(){ // every 10 seconds 
    // using jQuery 
    $('#container').load('/showUpdate.php'); // load php page into #container 
}, 10000); 

在数据库发生更改时,网页中没有任何事件。

相关问题