実行したくないスリープ機能を備えた while ループがあります -> データベースの更新 -> スリープ -> 再度 10 回実行します。以下のスクリプトでは、スクリプトは 10 回ループしますが、10 回のループがすべて終了したときにのみデータベースを更新します。
確認のために最後にエコーを追加しましたが、すべてのループが一度にエコーアウトされるまで、エコーはページに表示されません。
また、エコーの後にob_flush()と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 ループでも同じことを試しました。
任意の提案をいただければ幸いです。検索を行ったところ、同様の問題を抱えているユーザーは見つかりませんでしたが、答えが見つかりませんでした.