我有一个$dbSessionDuration变量,通过使用mysqli,它可以将来自查询的数据结果绑定(bind)到该变量中。 $dbSessionDuration变量保存时间,因此该变量具有以下时间格式:

01:30:10

现在意味着1小时30分10秒。我想做的是在计时器中显示$dbSessionDuration值,以便在上面的示例中,它将从01:30:10开始滴答,并在停止时一直为0。我的问题是如何创建计时器并将任何$dbSessionDuration值放在计时器中以倒计时至00:00:00?

最佳答案

首先,您必须将时间转换为秒。

<?php

list($hour,$min,$sec) = explode(':', $dbSessionDuration);
$dbSessionDurationTime = mktime(0,0,0,$hour,$min,$sec);

?>

要创建倒计时,您必须使用Javascript。
<script type="text/javascript">
    var millis = <?php echo $dbSessionDurationTime; ?>

    function displaytimer(){
        var hours = Math.floor(millis / 36e5),
            mins = Math.floor((millis % 36e5) / 6e4),
            secs = Math.floor((millis % 6e4) / 1000);
            //Here, the DOM that the timer will appear using jQuery
            $('.count').html(hours+':'+mins+':'+secs);
    }

    setInterval(function(){
        millis -= 1000;
        displaytimer();
    }, 1000);

</script>

我没有测试,但是应该可以!

09-16 13:14