0

我正在尝试开发一个应用程序,每分钟检查 MYSQL 表是否有新消息,如果有任何新消息,它应该提醒用户并显示消息。这是我使用的代码,我应该如何修改它以使其工作?

setInterval ( "getMessages()", 60000 );
var oldmessage = "";
function getMessages() {
    $.getJSON(serviceURL + 'messages.php?ID=' + ID, function(message) {
       if(JSON.stringify(message) != JSON.stringify(oldmessage)){ // old message is not same as new 
          var messages = data.key[0];
           alert(messages.NEW);
        });



            oldmessage = message;

}  

所以我想要做的是将旧消息保存到变量并在几分钟后进行比较,如果它发生了变化,我会提醒新行

4

1 回答 1

0

可能的解决方案是,您在 mysql 中使用一个新列来标记是否已查看。默认情况下不会被查看(比如 0)。在您的 PHP 代码中,您应该检索标记为“未查看”或 0 的一行。同样,您应该通过 AJAX 显示并将该行更新为 1(已查看)。

如果您没有收到任何行,则不向 AJAX 发送任何内容并相应地处理消息,没有找到新行。

这只是一个逻辑,希望对您有所帮助。

于 2012-05-29T05:54:06.447 回答