0

每当我的数据库中的某些条件发生变化时,我需要找到一种刷新 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";
  } ?>

ETC..

所以基本上,我希望框 1 的内容显示各种不同的东西,这取决于 php 脚本中的 sql 查询。如果我使用纯 php 执行此操作,并且在加载页面时 Box 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 而无需将外部代码加载到其中?只是从字面上刷新容器?

4

1 回答 1

0

我认为您需要一种称为“彗星”的技术:http ://en.wikipedia.org/wiki/Comet_(programming)#XHR_long_polling

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

使用完整的“彗星”技术需要对网络服务器进行一些认真的修改,因此为了更容易,您可以使用一些类似彗星的方法,例如: http ://webscepter.com/simple-comet-implementation-using-php -and-jquery/ 更多信息: 使用 php 和 jquery 的简单彗星示例

于 2013-09-10T06:52:11.273 回答