数据库更新时如何发送警报

how to send alert when database is update

我在 php 和 ajax 中实现了一个简单而原始的聊天系统。基本功能是,添加新联系人并与他们进行对话,基本上就像电报或whats'app。所以,我有很多聊天记录,现在我将实现一项功能,可以将新消息通知给联系人。我读了一些关于这个的东西,但我不太明白。如何做到这一点,我阅读了有关长轮询或 websocket 的信息,但这仅适用于新浏览器。现在它实现这个非常糟糕,在 ajax 中有一个功能,它每秒向服务器发送一个请求并重新加载当前聊天中的所有消息,但不是其他聊天,并且无法可视化通知。请帮助我:DD

关于如何执行此操作的一般想法是让观察者定期调用数据库以查看是否有更改。您可以为此使用 AJAX 并调用该函数,例如 setInterval(myAjaxFunction, 3000) 每 3 秒检查一次。

要检查数据库,一种方法是查看 table 中的记录数并最初存储它。类似于:

 SELECT COUNT(*) FROM tableName

获取table中的记录数。所以最初这样做并将其存储在 JavaScript 中,然后让 AJAX 的 return 发送查询值。然后你可以这样做:

if(queryResult != currentRecordCount){
    currentRecordCount = queryResult;
    sendNodification();
} 

在AJAX调用后success

这将使观察者每 3 秒检查一次,如果数据库中发生某些变化,它将调用 sendNodification 函数。