PHP倒计时,需要动态

时间:2013-11-21 14:55:07

标签: javascript php function time countdown

我有一个PHP脚本,可以像这样在SQL-DB中添加时间:

    $howlong = 75; // Amount of seconds 
    $timetowait=time()+ $howlong; // This inserts into "timetowait" in SQL DB

然后向我的用户展示他们需要等待的时间,我有这个:

$timeleft= $rows['timetowait']; // This is the field in DB from above^
func_time($timeleft); // Function below, which shows the time left

上述功能是:

function func_time($until){
$now = time();
$difference = $until - $now;
$seconds = $difference;
$output = "$seconds seconds";
return $output;
}

它工作正常,但我希望它是一个动态的倒计时。 (自动倒计时,不刷新网站)我的问题在于,我使用的是“time()”,而不是纯文本(f.ex 21/11/2013 20:00)

3 个答案:

答案 0 :(得分:1)

通常这类“倒计时”之类的事情由Javascript处理:

客户端方面,您可以执行以下操作:

function countdown(seconds) {
    if(seconds > 0) {
        alert(seconds + ' Seconds Left');
        setTimeout(function(){
            countdown(--seconds);
        }, 1000);
    }
    else {
        alert('Time out!');
    }
}

演示:http://jsfiddle.net/qwertynl/fn4MV/

答案 1 :(得分:0)

最好使用javascript在客户端处理此问题。

例如,每个用户的倒计时可以如下,

<强> JS

function printData(data){
    document.getElementById("countdown").innerText=data;
}

var timeInSecs = Date.now()/(1000*60);
var howLong = 75;
var untilTimeInSecs = timeInSecs+howLong;
var countDownInterval = setInterval(function(){
    var timeLeft = untilTimeInSecs-timeInSecs;    
    printData(timeLeft);
    untilTimeInSecs--;

    if(timeLeft<=0){
        clearInterval(countDownInterval);
    }

},1000);

<强> HTML

<div id="countdown"></div>

http://jsfiddle.net/zvsyu/2/

答案 2 :(得分:-1)

你需要javascript,如果你有倒计时秒数,你只需要一个setInterval:

更多信息:http://www.w3schools.com/js/js_timing.asp