2016-09-22 63 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

當必須要求某事時,它總是有幫助的。當我問,然後我開始思考不同=)。很多時候,當有人至少在傾聽時,它的幫助。 –