我的数据库中有以下3个表:
导体:id_conductor,nombre_conductor
Trayectos:id_trayecto,Trayecto,Origen,Destino,Horas_conduccion
Viajes:id_viaje,id_conductor,id_trayecto,Salida,Llegada,Horas_conduccion,Disco,Semana
“ 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)");