gpt4 book ai didi

php - 将 AJAX 用于包含数据库值的自动更新页面?

转载 作者:可可西里 更新时间:2023-11-01 08:38:09 24 4
gpt4 key购买 nike

有人可以解释如何创建一个自动更新数据库值的 .php 页面吗?使用 AJAX 最适合这样的事情吗?我想要此 PHP 代码,但我希望在添加或更改“values01”时更新页面,而无需刷新页面。
$query = "SELECT values01 FROM users WHERE username='$username'";<br/>
$result = mysql_query($query);<br/>
while($row = mysql_fetch_array($result, MYSQL_ASSOC))<br/>
{<br/>
echo nl2br("{$row['values01']}");<br/>
}

任何帮助,将不胜感激! :)

最佳答案

您所描述的是来自网络服务器的推送通知。不幸的是,我还没有找到一种可靠的方式来进行传统的推送,其中 Web 服务器将启动与客户端的连接(根据我有限的研究,似乎有人建议 http 标准支持推送,但是,它没有'看起来像一个被广泛采用的标准出现过)。但是,这可以通过更迂回的方式来完成。

通常使用一种解决推送限制的方法:

  1. 浏览器连接到页面,加载数据库的当前“状态”。 session 变量(我们称之为 $_SESSION['currentState'])与数据库的起始状态一起保存。客户端浏览器上的 javascript 计时器开始计时(假设计时器的时长为 10 秒)。
  2. 一旦计时器到期,就会对服务器上的脚本进行 AJAX 调用。让我们将该脚本称为“updateValues.php”。 updateValues.php 检查数据库的新状态。如果数据库与 $_SESSION['currentState'] 不同,我们将以某种良好的形式(json、xml 等)返回所做的任何更改,并使用新状态更新 $_SESSION['currentState']。如果没有变化,我们会回复相应的内容。
  3. 收到数据后,浏览器会执行一些 javascript,如果对数据库进行了更改,则会更新浏览器中的呈现,然后重新启动计时器。
  4. 转到 2.

典型的推送通知唯一缺少的是 10 秒(或您为计时器选择的任何值)延迟。

关于php - 将 AJAX 用于包含数据库值的自动更新页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3336370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com