2011-05-19 72 views
6

我想修改数据库时更新页面。我想用jquery来做这件事。问题不清楚?再看看这个,想这是我的网页:当数据库被修改时使用jquery更新页面

<?php 
$query=mysql_query("select * from tbl1 where user='admin'"); 
if(mysql_num_rows?($query)!=0) 
{ 
    echo 'Table 1 has values'; 
} else { 
    echo 'Table1 is empty'; 


} 
?> 

,只要任何新条目添加到数据库中,应执行此操作。现在假设我手动添加一个条目到数据库,那么页面应该自动显示结果为“Table1有值”。我知道它可以通过定期使用刷新页面来使用,但我不想使用它。相反,我想尝试其他方法,如ajax轮询?有人可以给我一个演示吗?

回答

1

您可以使用长轮询,但先做大量研究。您的服务器可能会终止长时间处于打开状态的请求。

在PHP中,你的代码将看起来像......

set_time_limit(0); 

while (TRUE) { 
    // Query database here 
    if ($results) { 
     echo json_encode($results); 
     exit; 
    } 

    sleep(1); 
} 
+0

没关系,无论如何他应该会超时。看到我的答案。 – 2011-05-19 05:23:42

+0

$结果的价值是多少? – 2011-05-20 11:04:38

0

您正在寻找Ajax的推/彗星的解决方案。这些不是微不足道的。
你还提到了ajax池。
那么,在服务器端,您需要循环,直到出现超时(您自己定义或服务器完成,确保您返回发生超时的HTTP状态代码),或者可以满足请求。
而在客户端,只要您成功完成操作,只需处理它并再次进行相同的ajax调用,如果超时,只需再次发出相同的ajax请求,直到满足为止。

相关问题