【问题标题】:Page refresh on record in database changing数据库更改中记录的页面刷新
【发布时间】:2011-10-26 21:41:17
【问题描述】:

好的,我遇到了一个小问题。

基本上我整个网站都是通过AJAX系统运行的,内容加载在中间页面,左右菜单不刷新。

目前我正在尝试寻找一个 PHP->Ajax 功能来刷新整个网站,以防 MYSQL 表中的某些记录发生变化

好的,所以每个用户都有一个名为“状态”的记录,该记录指示他们帐户的状态,任何人都可以更改此状态,例如帐户被某人枪杀。如何使它检查您的状态,以及它是否从执行完整页面刷新的“标准”状态更改。

我试图到处寻找这个问题的答案,但一直无法弄清楚。

-----编辑-----

好的,我也通知一下,我知道如何执行整页刷新,我知道如何从 mysql 数据库中检索数据,这不是问题。

我有一个包含所有用户帐户的表,每个用户的记录之一被称为“状态”,每个人的状态都是 1,这意味着活着。当它为 0 时,表示它是一个死帐户。

在我的网站的一部分上,自动刷新总是每 5 秒从数据库中获取数据,以检查您是否在线是否有钱等。它还会检查您的状态。

我唯一想做的是,当它看到您的状态为 0 时,它会执行整页刷新,考虑到状态 0 意味着死亡,您应该看到死屏,我希望它执行整页刷新导致菜单必须消失。它必须将您重定向到死亡页面。

【问题讨论】:

  • 如果您的意思是刷新整个页面(而不是网站),请检查以下问题:stackoverflow.com/questions/4194080/…
  • 我不认为你得到了我想要的。我希望当 mysql 数据库中的记录发生更改时刷新页面,记录是“状态”,每个帐户的预设为“1”,除非他们被杀死,否则状态为“0”我怎样才能做到这一点,如果它检测到你的状态正在改变它会刷新整个页面? (页面的一小部分有自动刷新,我可以在这部分添加以下代码来检查记录“状态”的变化。)
  • 您的问题是如何刷新整个页面或如何从数据库中获取状态?还是两者兼而有之?
  • 如果是第二个,如何让浏览器(尽快)知道数据库中的某些东西(状态)发生了变化,请参见:stackoverflow.com/questions/587027/…
  • 编辑了我的第一篇文章,希望它更清楚我现在想要做什么。

标签: php mysql ajax


【解决方案1】:

你需要长池/彗星——基本上你保持客户端和服务器之间的开放连接,当状态改变时,服务器将响应发送给客户端。

基本上,您将打开一个长池连接,发送用户 ID。 服务器脚本接收用户 ID,并开始监视该用户的更改。如果检测到此类更改,请发送响应。

如果关注性能,您可以使用 Tornado 网络服务器。它的好处在于,您可以从另一个应用程序发布到 Web 服务器,它可以检测到哪个客户端受到更改的影响并向该客户端发送响应。

【讨论】:

  • 但是所有这些选项都围绕着安装服务器密集型应用程序,真的没有任何代码可以检查“状态”并在注意到它发生变化后执行实时刷新?考虑到这个每 5 秒刷新一次的小部分,它会检查你是否在线,你有多少钱,并每 5 秒更新一次,所以真的不可能只放像“if state = 0 perform'refresh '" 还是什么?
猜你喜欢
  • 1970-01-01
  • 2016-12-24
  • 2016-09-27
  • 1970-01-01
  • 1970-01-01
  • 2012-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多