gpt4 book ai didi

php - mysql-php计算表中新列的总小时数

转载 作者:行者123 更新时间:2023-11-29 16:32:46 25 4
gpt4 key购买 nike

我试图计算总小时数,我插入开始时间,然后更新 ID 的结束时间:

UPDATE worked_hours
set End= '$end'
WHERE Id= '$id'

因此,在更新结束时间之前,我想计算所有表记录中的总小时数。 (结束 - 开始 = 总计)。谢谢,我会感谢一些帮助,我也希望我能清楚地回答我的问题。

ID | Worker |  Start  |   End    | Total  |
1 | Jhon |11:25:40 | 14:04:53 |2:39:31 |
2 | pete |10:26:00 | 14:04:53 |3:40:53 |
3 | David |11:35:30 | 19:04:38 |7:29:08 |

最佳答案

扩展@spencer7593在评论中的建议TIMEDIFF即可完成计算。

查询:

SELECT TIMEDIFF('14:04:53', '11:25:40');

结果:

02:39:13

在 PHP 更新查询端,您可以使用以下方法与结束时间同时更新总计:

$query = "UPDATE `worked_hours` AS wh
SET `wh`.`End` = '$End',
`wh`.`Total` = TIMEDIFF('$End', `wh`.`Start`)
WHERE `wh`.`ID` = '$ID'";
<小时/>

我还强烈建议您使用prepared statements

$query = 'UPDATE `worked_hours` AS wh
SET `wh`.`End` = ?,
`wh`.`Total` = TIMEDIFF(?, `wh`.`Start`)
WHERE `wh`.`ID` = ?'

$stmt = $dbh->prepare($query);
$stmt->execute(array($End, $End, $ID));

关于php - mysql-php计算表中新列的总小时数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53784256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com