2016-09-22 35 views
0

我的思维有问题,我必须要求某人提供帮助。 我创建了简单的工作时间跟踪系统,我可以使用该代码管理所有其他事情,但是现在我无法弄清楚如何计算以下数据。拳头,我有几张桌子和一个商店四件东西。mysql 5.5.50将一天多个事件计算为一个

index | who | timestamp   | what 
1  | 1 | 2016-09-21 08:00:00 | Work 
2  | 2 | 2016-09-21 08:01:00 | Work 
3  | 1 | 2016-09-21 10:00:00 | Bin 
4  | 2 | 2016-09-21 10:00:00 | Bin 
5  | 1 | 2016-09-21 10:15:00 | Bout 
6  | 2 | 2016-09-21 10:17:00 | Bout 
7  | 2 | 2016-09-21 13:00:00 | Bin 
8  | 1 | 2016-09-21 13:00:00 | Bin 
9  | 1 | 2016-09-21 13:30:00 | Bout 
10 | 2 | 2016-09-21 13:30:00 | Bout 
11 | 2 | 2016-09-21 15:58:00 | Home 
12 | 1 | 2016-09-21 16:05:00 | Home 

我可以很好地计算工作和家庭之间的时间,并为合适的人获得正确的价值。

但我现在被困在那些休息时间。

我需要为每个人计算所有可能的休息时间,并且以这种方式总共花费每人休息时间。

所以我需要像下面的回答询问的人时,1资讯:

Who | Time  | Breaktime | Working time 
1 | 08:05:00 | 00:45:00 | 07:20:00 

或者,也许所有的人能够来到同一个页面询问具体日子......

Who | Time  | Breaktime | Working time 
1 | 08:05:00 | 00:45:00 | 07:20:00 
2 | 07:57:00 | 00:47:00 | 07:10:00 

总是有与事件配对。工作 - >家庭和斌 - >布特。 是的,有更多的人,并可能每个人更多的刹车时间。

这可能是一个糟糕的表现,对此感到遗憾(NooB)。我希望我能提供那么多的信息,因为有人可以帮忙。但问问是否有什么要问。

这是我使用的代码,当我解决一天总工作时间在工作的地方。

SELECT TIMEDIFF( 
(SELECT timestamp FROM `stamps` WHERE (who like '1' and DATE (timestamp) like '2016-09-21' and what like 'Home')), 
(SELECT timestamp FROM `stamps` WHERE (who like '1' and DATE (timestamp) like '2016-09-21' and what like 'Work')) 
) 

但我不能在多个事件中使用它。

+2

那么你自己试图做些什么呢?这不是一个代码写作服务,我们不在这里为你做你的工作。你展示你的尝试,我们会(可能)尝试帮助解决它。 –

+0

感谢修复我的问题Machavity。现在我下次可以做得更好。 –

+0

Marc B.我只是在想如果有人能帮我解决我的大脑问题。我尝试使用与我一起使用的工作 - > Home事件相同的SQL。 我还不知道如何将它添加到评论。我必须回答吗? –

回答

0

这就是我发现的。也许不好,但它有效=)。

$break = mysqli_query($conn,"SELECT what, timestamp FROM stamps WHERE (who like '$id' and DATE (timestamp) like '$day' and what like 'B%') ORDER BY timestamp"); 
while($row = mysqli_fetch_array($break)) 
{ 
    if ($row['what'] == "Bin") 
    $start = strtotime($row['timestamp']); 
    else { $stop = strtotime($row['timestamp']); 
    $hours += ($stop - $start); 
    } 
} 
$btime = gmdate('H:i:s', floor($hours)); 

$ btime给出00:00:00样式结果。

+0

当必须要求某事时,它总是有帮助的。当我问,然后我开始思考不同=)。很多时候,当有人至少在倾听时,它的帮助。 –