gpt4 book ai didi

php - 从查询构建数组以计算总时间

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

我有这段代码从数据库中提取数据,运行时以 hh:mm 格式显示每条记录的时间总计,例如 00:35 35 分钟。

$query="SELECT * FROM data1 ORDER BY id DESC";
$result=mysql_query ($query);
$num=mysql_num_rows ($result);
mysql_close();

$i=0;
while ($i < $num) {
$time_ttl=mysql_result($result,$i,"time_ttl");
echo $time_ttl . "<br>";
++$i;
}

查询结果如下所示:

00:3500:2500:10

总时间:01:10(1小时10分钟)

根据查询的不同,总计数量会有所不同,我想根据查询计算总计。

我尝试使用此代码来计算时间,它有效,但我不确定如何连接“while { }”部分内的传入数据:

$times = array();

$times[] = "00:35";
$times[] = "00:25";
$times[] = "00:10";

function ttl_time($times) {

foreach ($times as $time) {
list($hour, $minute) = explode(':', $time);
$minutes += $hour * 60;
$minutes += $minute;
}

$hours = floor($minutes / 60);
$minutes -= $hours * 60;

$ttl_time = sprintf('%02d:%02d', $hours, $minutes);

}

代码正确计算了总时间,但我正在寻找如何基于查询构建数组以输入 ttl_time 函数的指导,以便我可以将传入的查询数据连接到该函数。

我确实尝试过这个:

$result2 = mysql_query("SELECT sum(time_ttl) FROM data1");
while ($rows = mysql_fetch_array($result2)) {
echo $rows['sum(time_ttl)'];
}

但它返回错误的结果

最佳答案

如果我正确理解你的问题...

$i=0; $result_times = array();
while ($i < $num) {
$result_times[] = mysql_result($result,$i,"time_ttl");
++$i;
}

然后您可以将 $result_times 传递给 ttl_time 函数。

至于您尝试的其他解决方案(使用 sum),它取决于数据类型。这可能会有所帮助:calculate a sum of type time using sql

关于php - 从查询构建数组以计算总时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36230906/

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