Ver Mensaje Individual
  #10 (permalink)  
Antiguo 21/04/2008, 08:02
Avatar de quinqui
quinqui
 
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Re: Agrupar consulta

Holas Clicky ^^

El foreach es un tipo de "for", que recorre matrices elemento a elemento, dando lo mismo si la matriz está indexada por índices numéricos o por claves, a diferencia del for clásico que recorre las matrices en base al índice numérico (según mi entender, si la matriz es del tipo asociativa —esto es, está indexada por claves— el ciclo for no podría recorrerla, porque no hay números de referencia...).

En tu caso, no sé cómo infuiliría el uso del foreach. De cualquier forma, para recorrer resultados de consulta a base de datos debes usar el while siempre. Ahora, si quieres podrías guardar todo lo que recibas por while, en un arreglo multidimensional, que luego recorrerás usando for o foreach. Pero esto no conviene si son demasiados datos los recibidos (se te acumulan en la memoria del servidor y eso pone lenta la página para el cliente). Ahora si son pocos, guarda los datos recibidos en una matriz, ya filtrados y bien ordenados, de modo que luego recorras dichas matrices y muestres el resultado.

Ejemplo de la estructura de una matriz para tu caso:

Código PHP:
<?
$datos 
= array(
      
"Tipo" => "",
      
"Nombre" => "",
      
"Plan" => array( )
      );

// recorriendo dicha matriz
?>
<table>
<?
foreach ($datos as $encabezado => $valores)
{
  if (
$encabezado == "Plan")
  {
    print
" <td>\n";

    
// aca $valores es un array
    
foreach ($valores as $valor)
    { print 
$valor." <br>\n";  }
    
    
// se cierra la fila con la columna Plan
    
print" </td></tr>\n";
  }
  else
  {
    
// la fila se inicia con la columna Tipo
    
if ($encabezado == "Tipo")
    {  print
"  <tr>\n";  }

    
// aca $valores es una cadena simple
    
print" <td>".$valores."</td>\n";
  }
}
?>
</table>
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*