Php 将数据库输出作为一个

Php 将数据库输出作为一个,php,Php,我相信这个问题对某些人来说很简单,但我就是想不起来。。我想用我现在的代码加上某一行的所有数据输出,它只是输出,例如12 2 12 14,但我想得到40,而不是上面的,这里是我的代码示例 $searchTimeScale = mysql_query("SELECT * FROM workhours WHERE case_project_id='$myCaseId'"); while($timeFeed = mysql_fetch_assoc($searchTimeS

我相信这个问题对某些人来说很简单,但我就是想不起来。。我想用我现在的代码加上某一行的所有数据输出,它只是输出,例如12 2 12 14,但我想得到40,而不是上面的,这里是我的代码示例

        $searchTimeScale = mysql_query("SELECT * FROM workhours WHERE case_project_id='$myCaseId'");
        while($timeFeed = mysql_fetch_assoc($searchTimeScale)){
        $workedHours =  $timeFeed['worked_hours'];
        $workedMinutes = $timeFeed['worked_minutes'];
        echo $workedHours;
        var_dump($workedMinutes);
    } 

您可以通过选择
SUM(工作小时数*60+工作分钟数)
在SQL查询中进行聚合。这将给出总分钟数。

只要让计数器继续运行:

$total = 0;
while($timefeed = mysql_fetch_assoc(...))) {
    $total += ($timeFeed['worked_hours'] * 60) + $timeFeed['worked_minutes'];
}

您应该将聚合函数
SUM()
与分组依据一起使用

SELECT SUM(your_hour_field)
FROM workhours
WHERE case_project_id='$myCaseId'
GROUP BY case_project_id

从技术上讲,这里不需要GROUP BY,因为您只需要查询单个
案例项目id
,但我会显示它,以防您想要在一个或多个特定字段上汇总整个记录集。

可能使用
选择汇总(工作小时)在工作时间…
记住不要使用mysql,而是使用mysqli或PDO之类的工具that@ITroubs我永远不会使用mysql!但我正在开发一个旧的系统,但谢谢你提到它!哈哈,遗留代码很有趣;-)虽然技术上是正确的,但让SQL来处理这个问题要好得多。为什么通过网络传输所有信息只是为了执行客户端聚合?因为OP正在执行
select*
,所以谁知道数据使用要求是什么。感谢您的回答!这似乎就是我所寻找的,当我运行$searchTimeScale=mysql_查询(“从工作时间中选择SUM(worked_hours),其中case_project_id='$myCaseId')时,我是如何得到null的;知道为什么吗?谢谢只是一个简单的额外问题:如何在一条sql语句中选择工时和工时,并将两者相加?提前谢谢@Anoxy
选择SUM(worked_hours)作为worked_hours\u SUM,SUM(worked_minutes)作为worked_minutes\u SUM FROM…
当然,您需要考虑如何将小时和分钟相加,因此如果一个记录类似于1小时30分钟,您希望将其相加45分钟,结果为2小时15分钟,你需要做一些数学题。您可以考虑只总结为“代码”>选择“和”((WorkdHyth** 60)+ WordKytmin)作为WordKyMiutsSuthSuff.<代码>