2010-11-18 69 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); 

在數據庫發生更改時,網頁中沒有任何事件。

相關問題