2014-05-25 117 views
0

我想用SetInterval()每隔幾秒刷新一次PHP頁面;如果數據添加到數據庫中,它會停止刷新頁面。所以,它刷新我的PHP頁面時,它總是檢查有沒有添加到數據庫或沒有新的數據..刷新頁面,直到新數據添加到數據庫

我試圖用這樣的邏輯,但它不工作...

$query = mysql_num_rows(SELECT id_example FROM table_example); 
$a = count($query); 
$b = $a+1; 

IF($a==$b) 
{ 
Stop_refreshing_the_page; 
} 
else 
{ 
Refresh_with_setInterval(); 
} 

有沒有人可以建議我更好的邏輯/算法/代碼示例來做到這一點?

回答

0

哪部分不工作?

此外,setInterval可能不是你想要的,如果你每次刷新整個頁面 - 看起來像一個簡單的setTimeout和重新加載會做的伎倆,然後只是不打印時,你有數據庫結果。

編輯的OP

我認爲這是不合法的PHP,但你應該明白我的意思。

$previous_count = $_GET['previous_count']; 
$query = mysql_num_rows(SELECT id_example FROM table_example); 
$result_count = count($query); 

if ($previous_count == $result_count) 
{ 
    // this should render some javascript on the page including $result_count 
} 

所得的JavaScript會是這樣的:

<script type='text/javascript'> 
    window.setTimeout(function(){ 
     window.location = window.location.pathname + "?previous_count=<?php echo $previous_count; ?>"; 
    }, 2000); 
</script> 
+0

如果在數據庫上新的數據,$ a的值將不斷更新和$一個是絕不會是具有相同的價值與$ b。所以重裝過程不會停止... – user3581186

+0

您可以發送a的舊值作爲GET參數,PHP頁面可以在決定渲染另一個setTimeout之前檢查該參數。 –

+0

我認爲這是一個好主意,但你可以寫你只需告訴我像我在我的問題上面寫的邏輯,所以這讓我更容易理解你的想法... – user3581186

相關問題