我正在研究有点程序,其主要部分是计算用户在网站上花费的时间,然后将记录的时间保存在数据库中。
工作原理:在页面上,用户有按钮开始记录他的时间,然后他被移动到另一个页面,在那里他可以节省他的时间。节省的时间被发送到php文件(通过ajax),然后php文件将值放入数据库中供当前用户使用。
问题是指在60秒的录制时间后 - 数据库中的表从头开始(00:00:00)。例如:如果用户已经记录了30秒(00:00:30),那么他运行脚本,再记录40秒,然后在数据库中取代00:01:10,他的分数是明确的(00:00:00) )
详情如下。
MySQL表 - 类型:时间
// JS
$("#stopTimer").click(function(event) {
var time = event.timeStamp;
$.ajax({
type: 'POST',
async: true,
url: 'timer.php',
data: {time: time}
});
});
// PHP
$time = ($_POST['time']/1000);
$stmt = $db->prepare("UPDATE members SET timeOnline = timeOnline + '$time' WHERE memberID = :memberID");
$stmt->execute(array(':memberID' => $memberID));
答案 0 :(得分:0)
以另一种方式尝试。
保留一个名为UNNEST
的额外列。当用户第一次按此按钮时,存储当前时间。
当用户在不同页面中浏览时,只需计算start_time
中的时差。
它也会更简单。
答案 1 :(得分:0)
如果您想在.travis.yml
列添加秒数,请使用TIME
:
+ INTERVAL x SECOND