在修改数据库时使用Jquery更新页面

时间:2011-05-19 05:17:21

标签: php jquery ajax

我想在修改数据库时更新页面。我想用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民意调查?有人可以给我一个演示吗?

3 个答案:

答案 0 :(得分:1)

您可以使用长轮询,但首先要进行大量研究。您的服务器可能会终止看似长时间打开的请求。

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

set_time_limit(0);

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

   sleep(1);
}

答案 1 :(得分:1)

您可以在Ajax中使用 Ajax jQuery Framework:

http://www.w3schools.com/Ajax/default.asp
http://api.jquery.com/jQuery.ajax/

它将异步调用服务器端脚本并相应地更新您的页面。您也可以使用jQuery指定更新的格式。

答案 2 :(得分:0)

您正在寻找Ajax-Push / Comet解决方案。这些都不是微不足道的 你还提到了ajax pooling 好吧,在服务器端,你需要循环,直到你有一个超时(你自己定义或服务器做了,确保你返回Timeout Occured的HTTP状态代码)或者可以满足请求。
在客户端,无论何时成功完成操作,只需处理它,然后再次进行相同的ajax调用,如果超时,只需再次发出相同的ajax请求,直到满意为止。