我确实遵循了缓冲建议,但我仍然没有得到它的工作。这是我的代码。我试图只让按钮从数据库中每2小时一次选择一行。所以我的目标是在脚本等待2个小时之前显示表echo。我想:
让php检查表格验证中的行是“是”还是“否”。 如果是,则继续从另一个表中选择一行 选择该行后等待2个小时,然后将另一个表中的行编辑为否 否则如果表验证中的行为no,则向用户显示他必须等待的消息。
通过这个我想要2小时过去,让用户从数据库中得到他想要的东西,否则显示他的消息。正如我所说,我创建了另一个表,其中行验证从yes变为no。如果是,它应该让用户得到他想要的东西否。
<?php
ignore_user_abort(true);
set_time_limit(0);
ob_implicit_flush(true);
ob_end_flush();
$link = mysqli_connect( 'localhost', 'DATABASEUSERNAME', 'DATABASEPASSWORD', 'DATABASE' );
$query4 = "SELECT * FROM verification WHERE verify='yes'";
$verify = mysqli_query($link, $query4) or die("Error");
$rowcount2 = mysqli_fetch_array($verify);
if ($rowcount2['verify'] == 'yes') {
$query="SELECT * FROM daily LIMIT 1";
$show = mysqli_query($link, $query) or die("Error");
echo "<p id='paragraph' style='font-size:22px;font-weight: bold;'>Here is your info:</p>";
ob_flush();
flush();
echo "<table style='position:relative;bottom:30px;' border='2px'><tr><td>val1</td><td>val2</td></tr>";
ob_flush();
flush();
while ($row = mysqli_fetch_array($show)) {
echo "<tr><td>" . $row['val1'] . "</td><td>" . $row['val2'] . "</td></tr>";
ob_flush();
flush();
}
echo "</table>";
ob_flush();
flush();
$query2="UPDATE verification SET verify='no' WHERE verify='yes'";
$update = mysqli_query($link, $query2);
sleep(10); // this should be 2 hours but I am only testing the script for now.
$query3="UPDATE verification SET verify='yes' WHERE verify='no'";
$update = mysqli_query($link, $query3);
} else {
echo "false";
ob_flush();
flush();
}
?>