php - sql 查询,然后如果满足条件则刷新 Div - 也许是 Ajax?

标签 php jquery mysql ajax

每当数据库中的某些条件发生变化时,我需要找到一种刷新 div(id:box1_middle)的方法。如果您愿意的话,我有 5 个“单元格”,基本上,我需要在页面上的单个 div 中表示这 5 个单元格中的每一个。如果我纯粹用 php 来做这件事,我会做一些类似的事情:

<?PHP if($query9_row['a_trailerarrival'] == NULL && $query10_row['a_endsort'] == NULL)

  {
echo "Cell 1 content --> Box 1";
  }

  else if($query9_row['a_trailerarrival'] != NULL && $query10_row['a_endsort'] == NULL)

  {
echo "Cell 2 content --> Box 1";
  }

  else if($query9_row['a_trailerarrival'] != NULL && $query10_row['a_endsort'] != NULL)

  {
echo "Cell 3 content > Box 1";
  } ?>

等等..

所以基本上,我希望框 1 的内容显示各种不同的内容,具体取决于 php 脚本中的 sql 查询。如果我用纯粹的 php 来完成,并且当加载页面时,框 1 显示我想要的内容,那么这绝对没问题,但唯一的问题是,我不希望用户刷新页面以更改内容,我希望查询每秒运行一次,这样如果 dB 中的条件在那一秒内发生变化,则在下一次 Div 刷新时会显示其他内容。我尝试过使用 jQuery,SetInterval(code, 1000); 但到目前为止我还没有成功!

如有任何建议,我们将不胜感激。

提前致谢!

** 编辑 **

我使用了以下 jQuery:

<script type="text/javascript">
var auto_refresh = setInterval(
function ()
{   
$('#box1_middle').load('b1_middle.php').fadeIn("slow");
}, 1000);

b1_middle.php 的内容几乎就是上面脚本中的 php 代码。

** 编辑 2 **

基本上,出于测试目的,只需回显 php 脚本中的一行即可正常工作。但出于实际目的,我希望它为每种情况显示不同的倒计时器。例如当两个单元格都为空时,倒数计时器 1 显示;当 cell1 !=Null && cell2 == NULL 时,倒数计时器 2 显示,等等。

所以我将一些 Javascript 倒计时代码合并到我的脚本中,但这个 jQuery 不会加载它。

如果我可以将 div 内容放在我的页面上,那就完美了 - 有没有办法刷新 DIV 而无需将外部代码加载到其中?只是刷新容器?

最佳答案

我认为你需要一种叫做“Comet”的技术:http://en.wikipedia.org/wiki/Comet_(programming)#XHR_long_polling

在您的网络服务器和浏览器之间提供实时通信。

使用完整的“Comet”技术需要对网络服务器进行一些严重的修改,因此为了使它更容易,您可以使用一些类似 Comet 的方法,例如: http://webscepter.com/simple-comet-implementation-using-php-and-jquery/ 这里有更多信息: Simple comet example using php and jquery

关于php - sql 查询,然后如果满足条件则刷新 Div - 也许是 Ajax?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18712115/

相关文章:

用于复制数据库及其所有表的 PHP 脚本

Jquery 奇偶选择器不适用于动态内容

jquery - 将Class 添加到已经具有该类的元素?

mysql:列出所有表及其列

php - 在 PHP 中缓存辩论/论坛条目

javascript - Laravel Ajax 面板

javascript - 替换 jQuery 字符串中的文本

mysql - 如何选择以文本形式存储的 JSON 数据

php - 多个复选框插入不正确

javascript - 简单的 JavaScript 加 PHP 数据库访问