[英]How to show in a table results based on my DataBase? Mysql PHP
我的數據庫中有以下3個表:
“ Viajes”表是我每天都會插入卡車駕駛員(指揮)的日程的表,我想在這樣的表中計算每個卡車駕駛員的行駛時間和休息時間:
我必須建立該表的代碼如下:
The connection to the data base obviously...
<?php
echo "<table border='1'>";
echo "<tr>";
echo "<td><b>Conductor</b></td>";
echo "<td><b>Posicion Actual</b></td>";
// (etc.........)
echo "<td><b>Descansos 11 H.</b></td>";
echo "</tr>";
$sql="SELECT * FROM conductores ";
$resultado=mysql_query($sql);
while($row=mysql_fetch_array($resultado)){
echo "<tr>";
echo "<td valign='top'>" . nl2br($row["nombre_conductor"]) . "</td>";
echo "<td></td>";
// (etc.........)
echo "</tr>";
}
我知道如何計算列,但僅針對一名卡車司機,例如,如果我想要駕駛員1的當前位置(實際位置),我將這樣做:
$result=mysql_query("SELECT Destino FROM trayectos WHERE (SELECT MAX(id_viaje) FROM viajes WHERE id_conductor=1)");
$row = mysql_fetch_array($result, MYSQL_ASSOC);
echo "Posición Actual = " . $row["Destino"];
上周營業時間:
$result = mysql_query("SELECT SEC_TO_TIME (SUM( TIME_TO_SEC(Horas_conduccion))) as total FROM viajes WHERE id_conductor=1 AND semana=week(curdate())-1");
$row = mysql_fetch_array($result, MYSQL_ASSOC);
echo "horas semana anterior = " . $row["total"];
以此類推。
因此,我想為每個卡車駕駛員自動執行此操作,並覆蓋孔表。
你可以幫幫我嗎? 我有點迷路了。
從導體列表中獲取每個導體的ID,然后將其傳遞給查詢並進行循環。
$result=mysql_query("SELECT Destino FROM trayectos WHERE (SELECT MAX(id_viaje) FROM viajes WHERE id_conductor='.$conductor_id)");
您將需要子查詢和聯接的組合,以將所有這些數據組合成一個查詢。
SELECT c.*, t1.maxid, tr.Destino, t2.total FROM conductores c
LEFT JOIN (SELECT id_conductor, MAX(id_viaje) maxid FROM viajes GROUP BY id_conductor) t1 on c.id_conductor = t1.id_conductor
LEFT JOIN viajes v on t1.maxid=v.id_viaje
LEFT JOIN trayectos tr on tr.id_trayecto = v.id_trayecto
LEFT JOIN (SELECT id_conductor, SEC_TO_TIME (SUM( TIME_TO_SEC(Horas_conduccion))) as total
FROM viajes
GROUP BY id_conductor
WHERE semana=week(curdate())-1) t2 on c.id_conductor=t2.id_conductor
第一max(id_viaje)
查詢由驅動程序從viajes
表中檢索max(id_viaje)
。 然后,我再次連接viajes
表以獲取對應的id_trayecto
並使用該數據獲取目的地。
第二個子查詢按驅動程序獲取時間摘要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.