倒数到0

时间:2014-02-28 13:43:55

标签: php countdown

我想向用户显示某些排序从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();
}

1 个答案:

答案 0 :(得分:0)

我无法看到您将记录添加到旅行表的位置。在那里,您需要保存最新的访问时间,然后您可以在允许下次访问之前计算剩余时间。

然后

$time_left =  time()-60;

可以更改为计算时间()和上次访问时间之间的差异,并显示小于一分钟的值作为剩余时间。