如何在数据库插入后使用ajax刷新网页

时间:2011-07-08 13:05:17

标签: php mysql ajax

我有一个在PC上运行的服务,在我的(MySQL)数据库中有一些插入。我想要做的是每次在数据库中插入新记录以自动刷新我的网页(我使用的是php)。我读了一篇关于更新的相关帖子

refresh the webpage on database update,但这些更新是从“网页”完成的。

我还读了另一篇文章

https://stackoverflow.com/questions/6460297/automatically-refresh-the-webpage-just-after-a-new-database-entry,并没有弄清楚我是怎么做到的。

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

您就是这样做的

使用JavaScript的settimeout()函数以设定的时间间隔向服务器运行ajax请求,在该时间间隔内发送页面上最后一条记录的ID。如果最后一条记录的id不同,则使用Javascripts window.location.reload()函数重置页面。

为什么您不想刷新页面

这是糟糕的用户体验。你不希望页面从哪里刷新。最好的办法是将当前页面上的最新ID发送到服务器并检查是否有新的ID。如果有新想法通过json发回记录并将它们附加到结果表的末尾。

答案 1 :(得分:0)

此方案是您的要求的一些复杂但可能的解决方案! 在我们的场景中,我们已经开发了一个短信网关并在插入任何记录时定义了一个触发器,我们称之为一个函数,它将sms发送到我们已经开发了页面的网关后面的网关方式。 :)

另一方面,通过定义时序ajax或许多其他方式,我们必须妥协。

答案 2 :(得分:0)

理想情况下,您希望通过AJAX触发页面上的数据更新,而不是整页刷新。您可以使用Web套接字实现此目的。流行的服务器端实现是socket.io。它使用nodejs环境。

您可能会编写一个MySQL UDF,它会在您的触发器中执行,并向nodejs发出信号以推送更多数据(这可能还需要编写nodejs包)。所以,不是微不足道的,但绝对可行:)