2014-05-25 120 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

相关问题