我正在尝试在我的数据库中创建签入/签出表。我的签到表单没有问题,将时间插入我的数据库。当我试图结账时会出现问题。第一次进入时一切都很好......
但是当我尝试登记并再次结账时,会发生这种情况......
到目前为止一切顺利,但是当我退房时......
目前,我的代码会更新所有匹配out
的{{1}}列和totalTime
列。
这是我的代码:
child_id
答案 0 :(得分:3)
我认为您可以使用TIMESTAMPDIFF
在第一个更新语句中完成所有这些操作,而不是使用PHP计算总时间:
UPDATE checkinout
SET
out = NOW(),
totalTime = TIMESTAMPDIFF(SECOND, `in`, NOW()) / 3600
WHERE
child_id = $var
AND out IS NULL
条件WHERE out IS NULL
只会更新out
列中没有值的行。
答案 1 :(得分:1)
如果你有MySQL Db那么sql将是
SELECT TIMESTAMPDIFF(HOUR,in,out) from checkinout;