Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/12/2008, 14:20
head777
 
Fecha de Ingreso: octubre-2008
Mensajes: 101
Antigüedad: 15 años, 6 meses
Puntos: 1
Ayuda con varios while

Hola veran, estoy haciendo un sistema de costos unitarios y necesito imprimir en una hoja denominada proyectos, todas las hojas de costos untarias que posee el proyecto. Y mi codigo fuente queda mas menos asi.
Código PHP:
<? 
$db
="costos";
$tabla="actividades";
$tabla2="actividades_proyecto";
$conexion=mysql_connect("localhost","root") or die (mysql_error());
$db=mysql_select_db($db,$conexion) or die (mysql_error());
$sql="select actividades.id_actividad,actividades.descripcion,actividades.unidad,actividades_proyecto.id_actividad,actividades_proyecto.cantidad from actividades left join actividades_proyecto on actividades.id_actividad=actividades_proyecto.id_actividad ";
$result=mysql_query($sql,$conexion);
echo 
"<left><table border=1>";
echo 
"<tr><th><font color=black>Codigo</th>";
echo 
"<th><font color=black>Descripcion</th>";
echo 
"<th width='20'><font color=black>Unidad</th>";
echo 
"<th><font color=black>Cantidad</th>";
echo 
"<th><font color=black>Costo</th>";
echo 
"<th><font color=black>Subtotal</th>";
while(
$row mysql_fetch_array($result))
{
echo 
'<tr><td><font color=black>'.$row["id_actividad"].'</td>';
echo 
'<td><font color=black>'.$row["descripcion"].'</td>';
echo 
'<td width="20"><font color=black>'.$row["unidad"].'</td>';
echo 
'<td width="20"><font color=black>'.$row["cantidad"].'</td>';
$id=$row["id_actividad"];
$cant=$row["cantidad"];
 
$db="costos";
$tabla="materiales";
$tabla2="materiales_actividad";
$conexion=mysql_connect("localhost","root") or die (mysql_error());
$db=mysql_select_db($db,$conexion) or die (mysql_error());
$sql="SELECT materiales.id_material, materiales.descripcion, materiales.unidad,ROUND( SUM( materiales.precio * materiales_actividad.cantidad ),2) AS total
FROM $tabla
LEFT JOIN $tabla2 ON materiales.id_material = materiales_actividad.id_material
AND materiales_actividad.id_actividad ='"
.$id."'
GROUP BY materiales_actividad.id_actividad"
;
$result=mysql_query($sql,$conexion);
while(
$row mysql_fetch_array($result))
{
$total1=$row["total"];}}
Y me funciona a la perfeccion, el problema es que solamente me hace una sola vez la consulta y he detectado que es por que cierro el while del primero hasta abajo, ya que si lo hago despues que hago la seleccion a la tabla, es decir despues del primer while si me enseña los demas registros, pero no me hace ahora la operacion matematica, que he creado.

Asi que es ahi adonde solicito de su ayuda.

Desde ya gracias.