我想向用户显示某些排序从60到0秒的倒计时,因为我的脚本每60秒限制一次操作。我不需要实时更新
我限制用户访问该页面,但无法找到正确的方法,以便在他们下次访问该页面时显示它们。
以下是我目前的情况:
$sql = "SELECT * from travel WHERE username = '" . $_SESSION['user'] . "'";
$result = $dbh->query($sql);
if ($result->rowCount() == 0)
{
$sql = "SELECT name FROM countries";
$result = $dbh->query($sql);
$rows = $result->fetchAll(PDO::FETCH_ASSOC);
foreach ($rows as $row)
{
$sql = "SELECT country FROM users WHERE username = '" . $_SESSION['user'] . "'";
$result = $dbh->query($sql);
echo '<input type="radio" name="country" value="' . $row['name'] . '">'. $row['name'];
$obj = new travel($_SESSION['user']);
echo " ($" . $obj->calcCost($row['name']) .")";
echo '<br />';
}
echo '
<button type="submit" name="submit" value="Travel" />Travel</button>
<div class="spacer">
</form>';
}
else
{
$row = $result->fetch(PDO::FETCH_ASSOC);
$time_left = time()-60;
$seconds = 60;
echo "You can access this page in " . date("G:i:s", $seconds); // static value at the moment
$del = "DELETE FROM travel WHERE time_left<$time_left";
$res = $dbh->prepare($del);
$res->execute();
}
答案 0 :(得分:0)
我无法看到您将记录添加到旅行表的位置。在那里,您需要保存最新的访问时间,然后您可以在允许下次访问之前计算剩余时间。
然后
$time_left = time()-60;
可以更改为计算时间()和上次访问时间之间的差异,并显示小于一分钟的值作为剩余时间。