使用php,mysql和js获取通知的简便方法

时间:2012-12-05 15:15:36

标签: php javascript mysql

我正在使用php,mysql和js做餐馆应用,但我有一点问题。

当客户订购某物(使用平板电脑)时,我需要在另一个终端显示通知,但使用“简单方法”。

表格订单:

id  |   id_place   |  id_meal   |   id_waiter  |   status
1   |   3          |  20        |   4          |   0
2   |   4          |  17        |   4          |   0
3   |   2          |  13        |   2          |   0 
4   |   1          |  13        |   5          |   1  <-- All these are ordes 

我正在考虑做update.php:

$que = mysql_query("SELECT id, id_waiter, status FROM ordes WHERE status = 0");
$notifi = mysql_fetch_array($que);

我让所有订单都处于待机状态(状态= 0),现在我可以显示计算每个服务员行数的结果:

Waiter2 [1]   //waiter2 has 1 notification
Waiter4 [2]   //waiter4 has 2 notifications

但这些结果必须每5或10秒不断更新。我怎样才能做到这一点?我不想使用jnode,socket或类似的东西。

3 个答案:

答案 0 :(得分:3)

使用方法setTimeout()每X秒调用一次函数,该函数将刷新待机状态下的订单列表 更多信息:https://developer.mozilla.org/en-US/docs/DOM/window.setTimeout

如果您不想重新加载整个页面,则必须使用AJAX 更多信息:https://developer.mozilla.org/en/docs/AJAX

答案 1 :(得分:0)

在PHP页面中,您可以使用while循环并在底部睡眠:

<?php

while (someCondition) {
    //Get Data and show.
    sleep(5);
}

?>

您可以写一些内容将someCondition设置为false,以便在需要时停止该过程。

答案 2 :(得分:0)

使用ajax。在这种情况下,我使用了mootools。

var that = this;
var req = new Request.HTML({
        method: that.ajax.method,
        url: that.ajax.url,
        data: {'action' : 'update', 'waiterID': x},
        onRequest: function(){ /* do something */},
        onComplete: function(){ /* do something */}
        }).send();