我可以通过这个有效的查询获得以下结果:
$query = "SELECT tt.time_start, tt.time_end
FROM track_time as tt, project_track as pt, project_clients as pc, clients as cl
WHERE tt.track_id = pt.track_id
AND pt.project_id = pc.project_id
AND pc.client_id = cl.client_id
AND cl.client_id =".$db->prep($client_id);
$res = $db->query($query,'assoc');
**RESULTS**
time_start time_end client_id
1340927940 1340928420 1
1341066240 1341077040 1
1341086400 1341088560 1
1340954400 1340986800 7
我想要为每个客户实现的目的是为一个结果添加所有 time_start 值,将所有 time_end <加起来/ strong>一个结果的值,然后得到这两个结果之间的差异。这将允许我确定每个客户的总数。
我正在使用PHP并尝试各种foreach方法,没有运气和不正确的数组返回。有什么想法吗?
答案 0 :(得分:1)
试试这个:
$query = "SELECT pc.client_id,
(SUM(tt.time_start) - SUM(tt.time_end)) as `Difference`
FROM track_time as tt, project_track as pt,
project_clients as pc, clients as cl
WHERE tt.track_id = pt.track_id
AND pt.project_id = pc.project_id
AND pc.client_id = cl.client_id
AND cl.client_id =" . $db->prep($client_id) . "
GROUP BY client_id";
答案 1 :(得分:0)
time_start
和time_end
似乎是时间戳值。所以;
$total = 0;
foreach( $array as $item)
{
$total += strtotime( $item['time_start']);
}
之后,如果您以意图格式运行date()
函数,我认为它应该可以正常工作。