【问题标题】:PHP countdown, need it dynamicPHP倒计时,需要动态
【发布时间】:2013-11-21 14:55:06
【问题描述】:

我有一个 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)

【问题讨论】:

  • 您在问题中添加了标签“javascript”,因此您是正确的道路。你可以找到很多基于 Date() javascript 对象的教程。我建议您编辑您的问题以添加您尝试过的一些 html 和 js 代码。
  • 您可以在客户端使用javascript编写脚本,并与服务器同步,这样就不可能绕过它。 (时间归零时会检查)

标签: javascript php function time countdown


【解决方案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/

【讨论】:

  • 我想使用“return $output;”而不是警报框。我该怎么做呢?谢谢。
  • 我相信你能弄明白 :-) 我给你一块垫脚石。
  • 我想不通。。现在尝试了很多东西。
  • @qwertynl 我可以看到该脚本在 jsfiddle 上工作,但我无法让它在我自己的网站上工作。我应该如何将它插入到我的 PHP 文件中?
  • @Marius 这与 PHP 无关...这是一个 javascript 脚本。
【解决方案2】:

最好在客户端使用 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/

【讨论】:

  • 你的 timeInSecs 变量没有做任何事情而且毫无意义,因为你无论如何都要减去它......
  • @qwertynl 刚刚添加了这个以帮助我们的朋友在这里看到与他的代码的相似之处。发布的答案是如何实现倒计时的一个快速示例。
【解决方案3】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    • 2021-11-20
    相关资源
    最近更新 更多