我的代碼存在問題。我有兩張桌子。第一個employee_id:通過SQL循環並在PHP中計算總和
|僱員ID |
,第二個表稱爲employee_times:
| EMPLOYEE_ID | Hours_dev | hours_pm |
| 1 | 2 | 3 |
| 1 | 3 | 4 |
| 2 | 3 | 3 |
我想要做的是計算每個員工的工作總時間(hours_dev + hours_pm)。例如employee_id 1已工作12小時
到目前爲止,我試圖從第一個表中檢索所有employee_id,並使用for循環在SQL語句中查看employee_times(參見下面的代碼)。但是,代碼不起作用,因爲它爲employee_id和total_hours打印0。
我在本地主機服務器上使用MYSQL。
$ sql =「SELECT employee_id FROM employee」; $ result = mysql_query($ sql); ($ row = mysql_fetch_array) { $ employee_id = $ row ['employee_id']; }
$employee_id_length = sizeof($employee_id);
for($i = 0; $i < $employee_id_length; $i++)
{
$sql4 = "SELECT employee_id, hours_dev, hours_pm FROM employee_times WHERE employee_id= '$employee_id[$i]'";
$result = mysql_query($sql4);
while($info = mysql_fetch_array($result));
{
$employee_id = $info['employee_id'];
$hours_dev=$info['hours_dev'];
$hours_pm=$info['hours_pm'];
$total_hours = ($total_hours + $hours_dev + $hours_pm);
}
//print "$employee_id worked for $total_hours";
}
任何幫助深表感謝。
我很抱歉問一個愚蠢的問題,但你爲什麼不直接在SQL中做? – Sebas 2013-03-07 18:41:06
我同意@Sebas它也會更快。 – James 2013-03-07 18:41:59
是否可以直接從sql中執行?我想找出一名員工爲每位員工工作的所有小時數的總和。例如你最終應該用employee_id 1工作6小時,employee_id 2工作5個小時等等。我無法想到另一種計算表中每個員工沒有某種迭代器的時間的方法。我已經嘗試SELECT employee_id,通過employee_id從employee_times GROUP求和(hour_dev + hours_pm),但它不起作用。 – user2133387 2013-03-07 18:46:00