Javascript 将数据插入数据库后如何启动秒表?

Javascript 将数据插入数据库后如何启动秒表?,javascript,php,mysql,Javascript,Php,Mysql,我有一个秒表代码,它自己可以正常工作。我试图在用户打卡后启动并显示它,以便它计算工作时间,并在用户打卡时停止。我想使用这些数据插入数据库。我该怎么做呢 <?php if($timedata['is_clocked_in'] === 'Yes'):?> <h5 style="text-transform: uppercase" class="alert alert-info col-md-4">You Are Clocked In : (time count) &

我有一个秒表代码,它自己可以正常工作。我试图在用户打卡后启动并显示它,以便它计算工作时间,并在用户打卡时停止。我想使用这些数据插入数据库。我该怎么做呢

 <?php if($timedata['is_clocked_in'] === 'Yes'):?>
    <h5 style="text-transform: uppercase" class="alert alert-info col-md-4">You Are Clocked In : (time count) </h5>
     <?php elseif($timedata['is_clocked_in'] === 'No'):?>
<button><i class="fa fa-plus" aria-hidden="true"></i> Punch In Now</button>
     <?php endif;?>

不要使用Javascript的setTimeout()函数计算秒数。

我可以想到很多原因,但有两个重要的原因:

  • 可靠性:您完全依赖于访问者浏览器中的处理
  • 安全性:访问者可以轻松地操作您的代码
你可以访问PHP,PHP可以访问服务器的时钟。用那个。见:

如果必须使用Javascript,则使用date对象

通过存储开始时的时间,然后从停止时间中减去该时间,可以获得经过的秒数

timePassed = stopTime - startTime

您可以通过ajax实现它


在成功状态下发送请求和调用停止方法之前,请先开始。谢谢您的帮助,但PHP并不是一个真正的
live
解决方案。。。加上PHP中的时间从来都不是本地的。。。我需要设置时区以使其正确,这需要我为此编写一个完整的类,因为我正在构建一些国际性的东西。你只需要经过的时间,而不是绝对时间,所以你不需要本地时间。好的。你介意通过分享一点东西来展示你在说什么吗?我已经尽可能地讲清楚了。这是非常基本的东西。我认为你最好自己解决剩下的问题。很抱歉
var h1 = document.getElementsByTagName('h1')[0],
    start = document.getElementById('start'),
    stop = document.getElementById('stop'),
    clear = document.getElementById('clear'),
    seconds = 0, minutes = 0, hours = 0,
    t;

function add() {
    seconds++;
    if (seconds >= 60) {
        seconds = 0;
        minutes++;
        if (minutes >= 60) {
            minutes = 0;
            hours++;
        }
    }

    h1.textContent = (hours ? (hours > 9 ? hours : "0" + hours) : "00") + ":" + (minutes ? (minutes > 9 ? minutes : "0" + minutes) : "00") + ":" + (seconds > 9 ? seconds : "0" + seconds);

    timer();
}
function timer() {
    t = setTimeout(add, 1000);
}
timer();


/* Start button */
start.onclick = timer;

/* Stop button */
stop.onclick = function() {
    clearTimeout(t);
}

/* Clear button */
clear.onclick = function() {
    h1.textContent = "00:00:00";
    seconds = 0; minutes = 0; hours = 0;
}
timePassed = stopTime - startTime