如何在执行代码时创建暂停?

  • 本文关键字:创建 暂停 代码 执行 php
  • 更新时间 :
  • 英文 :


我想创建一个列表,显示自己慢慢在屏幕上,但似乎所有的例程完成之前,他们提出自己。

例如:

for ($x = 0; $x <= 25; $x++)
{
echo "The number is: $x <br>";
sleep(1);
}

在我看来,这应该显示&;数字是1&;,等待1秒,然后显示&;数字是2&;。实际上,它等待了25秒,显示了所有的数字,除了似乎有一个错误,因为它实际上只显示了前10个!!

编辑:我也试过"usleep"有相同的效果

我不关心这个错误,但是我如何添加一些等待呢?

编辑:接下来,我仍然得到同样的问题与这个代码。

for ($x = 1; $x < 5; $x++)
{
$st=$_SESSION['st']=$x;
echo '<iframe class="findlist" name="iframefindlist" id="findlist" src="findmelist.php"></iframe>';
ob_flush();
flush();
usleep(3000000);
}

然后是" findlist .php">

<body>
<?php
$st=$_SESSION['st'];
$conn = new mysqli("localhost", "acc", "pw", "db");
?>
<div class="findlist1">
</div>
<div class="findlist2">
<?php
$result = mysqli_query($conn,"SELECT * FROM tablename WHERE number='$st'");
while($row = mysqli_fetch_array($result))
{
$fname=$row['fname'];
$lname=$row['lname'];
}
echo $fname.' '.$lname;
?>
</div>
<div class="findlist3">
</div>
</body>

您需要首先刷新output_buffer,否则只有在执行完成时才会发送答案。

ob_flush();
flush();

对于你的代码,这意味着:

for ($x = 0; $x <= 25; $x++)
{
echo "The number is: $x <br>";
ob_flush();
flush();
sleep(1);
}

有关更多信息,请参阅以下参考。

最新更新