Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/02/2008, 16:24
Avatar de da2
da2
 
Fecha de Ingreso: abril-2003
Ubicación: Catalunya
Mensajes: 239
Antigüedad: 23 años, 6 meses
Puntos: 0
Error en while o ignorancia

Si no lo tengo mal entendido si pongo un while dentro de otro while tendria que ejecutar el segundo while tantas veces como mande el primero. Pues solo me lo ejecuta una sola vez.
alguien puede decirme la razón?

Código PHP:
<?php
include 'conexio.php';
echo 
"B - GESTIONS <br><br>";

$consulta1 = "SELECT * FROM t_burocra ORDER BY id_grup_burocra";
$res1 = mysql_query($consulta1) or die ("No s'ha pogut fer la consulta 1");
$consulta = "SELECT * FROM t_clients";
$res = mysql_query($consulta) or die ("No s'ha pogut fer la consulta");
$consulta2 = "SELECT * FROM t_grup_burocra";
$res2 = mysql_query($consulta2) or die ("No s'ha pogut fer la consulta 2");

// carrega burocracriques de cada client -------res-------
$num_burocra=array();
while (
$fila=mysql_fetch_assoc($res) ) {
$fila_idburocra=$fila['id_burocra'];
$contComas = substr_count($fila_idburocra, '-');
if (
$contComas == "0"){
$num_burocra_total[$fila['id_burocra']] = $num_burocra_total[$fila['id_burocra']] + 1;

} else {
$contComas = substr_count($fila_idburocra, '-');
for (
$i = 0; $i<=$contComas; $i++ ) {
$tros = explode("-", $fila_idburocra);
$num_burocra_total[$tros[$i]] = $num_burocra_total[$tros[$i]] + 1;
}
}
}

// llista amb titol superior -------res2------- ESTE LO EJETUTA BIEN
while($fila2 = mysql_fetch_array($res2)){
echo 
$fila2['desc_grup_burocra'];

echo 
"<br><table border=\"1\" width=\"500\" id=\"table1\" cellspacing=\"0\" cellpadding=\"0\" bordercolor=\"#000000\">";

// llista subcategoria superior -------res1------- ESTE SOLO ME LO EJECUTA UNA VEZ

        
while($fila1 = mysql_fetch_array($res1)){

        echo 
"    <tr>";
        echo 
"        <td>".$fila1[desc_burocra]."</td>";
        echo 
"        <td width=\"61\">".$num_burocra_total[$fila1['id_burocra']]."&nbsp;</td>";
        echo 
"    </tr>";

        }

echo 
"</table>";

}
?>
Gracias