如何在PHP中更新时显示进度消息?

时间:2010-07-16 10:41:51

标签: php mysql

我正在研究的是: -

我确实有一个搜索页面说索引页面。而动作文件是search.php。当我触发查询时,search.php将开始处理我搜索的内容。

search.php的结构

  1. 它使用$ _GET函数从索引页面检索查询。
  2. 首先它将在MySQL数据库中搜索。
  3. 如果是,则显示MySQL数据库的结果。
  4. 如果为null,则执行该过程以获取查询结果并插入MySQL数据库
  5. 我需要的是,如果查询结果不在数据库中,那么它应该显示一条进度消息,说“请等待我们第一次遇到此查询,因此我们正在更新我们的数据库”或适合的事情。

    我如何在PHP中完成?

3 个答案:

答案 0 :(得分:2)

这将成为使用ajax请求的另一个好选择。您将加载基页,然后在加载后触发ajax请求。然后在播放中有任何等待状态时显示一条消息,然后用搜索结果替换该消息......

吉姆

答案 1 :(得分:1)

正如其他人提到的那样,使用AJAX轮询服务器并检查搜索是否完成。但是,您仍然需要“结束”第一个请求并生成搜索处理代码,以便用户的浏览器不会只是坐在那里等待数据。

在服务器上,您可以产生一个与请求过程断开连接的进程,如下所示:

exec('nohup /path/to/script.php > /dev/null &');

您可能需要将一些参数传递给脚本,以指示要执行的搜索。但通过这种方式,您不必担心浏览器超时。

答案 2 :(得分:0)

使用AJAX进行异步通信。