我正在尝试开发一个应用程序,每分钟检查一次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;
}
所以我要做的就是将旧消息保存到变量并在分钟后进行比较,如果它已经更改我警告行新
答案 0 :(得分:0)
可能的解决方案是,在mysql中使用新列来标记是否已查看。默认情况下,将不会查看(例如0)。在您的PHP代码中,您应该检索一行标记为"未查看"或者同样你应该通过AJAX显示并用1(已查看)更新该行。
如果您没有收到任何行,则不向AJAX发送任何内容并相应地处理消息,不会找到新行。
这只是一个逻辑,希望它有所帮助。