【问题标题】:Trying infinite while loop php尝试无限while循环php
【发布时间】:2016-08-28 04:23:01
【问题描述】:

我正在尝试在 php 中运行无限 while 循环:

while($resultst = $sqlst -> fetch()){
$adlist = $resultst["Monday_Morning"];
echo "<div id='slideshow'>";
echo "<div>";
echo "<img src='/$adlist'>";
echo "</div>";
}

上面的代码循环遍历结果集一次并停止,但是结果是我需要不断循环的图像,直到用新图像刷新。

我知道

while(true){
//code to execute
}

会导致无限循环,但是如何在我的代码中实现 true 呢?

【问题讨论】:

  • 如果您在 PHP 中有无限循环,则不会显示任何结果并且您的服务器/浏览器将挂起。你确定你想要那个效果吗?
  • 最好尝试实现一个基于事件的系统..
  • 你是什么意思:“我如何在我的代码中实现真实”?你已经说对了。 while(true), 或 while(1 == 1) ... 或 $tmp = true;而($tmp)..
  • 我的意思是“我如何在我的代码中实现 true”是虽然代码运行正确,但循环在第一个循环后停止。我需要循环继续并重新开始。希望这是有道理的?

标签: php while-loop infinite-loop


【解决方案1】:

使用 ajax 将图像加载到幻灯片 div 中。 它将在后台运行而不刷新页面,并将加载新图像。 现有的上述代码将运行并会产生开销。

【讨论】:

  • 非常感谢。会这样做。然而循环应该继续,但它在第一个循环后停止
【解决方案2】:

这将永远循环并生成 html,但生成永远不会停止,因此用户永远不会看到结果:

while(true){
   if ($adlist = $resultst["Monday_Morning"]){
      echo "<div id='slideshow'>";
      echo "<div>";
      echo "<img src='/$adlist'>";
      echo "</div>";
   }
}

如果你想加载新结果,你需要使用 Ajax 或类似 Ajax 的机制,并动态地将新结果添加到 DOM 中。

【讨论】:

    猜你喜欢
    • 2014-05-30
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    • 2014-11-13
    • 2015-06-25
    • 1970-01-01
    • 2012-10-29
    相关资源
    最近更新 更多