我有一個帶睡眠功能的while循環,我不想運行 - >更新數據庫 - >睡眠 - >再次運行10次。使用下面的腳本,腳本循環10次,但只有當所有10個循環完成時才更新數據庫。帶睡眠循環的PHP直到循環結束時才更新數據庫
我在最後添加了一個回聲來驗證,並且回聲沒有出現在頁面上,直到每個迴路一次回顯出來。
我還試圖將使用ob_flush()和平齊()沒有運氣回波之後。
腳本
$loops = 10;
while ($loops > 0)
{
while($row = mysql_fetch_array($result))
{
// Get current User status
$username = $row['username'];
$user_status = $row['user_status'];
$user_updated = date('Y-m-d H:i:s');
// Update database
$update_sql = "UPDATE `database`.`user` SET `user_status` = '$user_status',
`user_updated` = '$agent_updated'
WHERE
`user`.`username` = '$username'";
$update=mysql_query($update_sql);
echo "Loop #".$loops."<br>";
}
flush();
$loops--;
Sleep(5);
}
我也試着同一個FOR循環。
任何建議,將不勝感激。我經歷了搜索,沒有發現有類似問題的用戶,但我找不到答案。
你無法一個一個得到回聲。 PHP所做的是一次輸出整個事物,而不是當時的一部分。因此,反過來,您將等待sleep()數秒,然後在屏幕上看到輸出。 –
如果PHP僅在最後返回輸出,您是否會建議擁有一個秒循環腳本(循環調用此頁面)(每5秒調用一次頁面)? –
這是一種方法,但我不知道你的實際目標是什麼。總有不止一種方法可以做,你應該描述你有什麼和你想要什麼,也許你會從其他人得到有用的輸入:) –