Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/04/2008, 20:52
ClickyMouse
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Agrupar consulta

Cita:
Iniciado por quinqui Ver Mensaje
Holas Clicky

Yo te sugeriría que no agruparas el resultado de la consulta, que sólo lo ordenaras según como quieres que se muestre en la tabla.

Luego, cuando recibes el valor en tu script php, vas comparando cada nueva fila con la anterior: si el Tipo, Nombre, en general los campos que se repiten, es igual al de la fila anterior, no generas el html de las celdas de ese tipo (no muestras los datos) y sólo muestras la celda con el dato de Plan, que es el que sí cambia.

Algo como:
Código PHP:
<?
$sql 
mysql_query("tu consultota");

$ult_tipo false;

while (
$fila mysql_fetch_array($sql))
{
  if (
$ult_tipo != $fila["tipo"])
  {
     
// aqui debes cerrar la ultima celda abierta de la fila anterior. 
     // en el caso de ser la primera fila, deja la fila del encabezado abierta para que
     // al ejecutarse esto, cuadren las celdas.
     
?>
    </td>
   </tr>
   <tr>
    <td><?= $fila["tipo"]; ?></td>
    <td><?= $fila["nombre"]; ?></td>
    <td><?= $fila["plan"]; ?>
     <?
  
}
  else
  {
     
// aqui imprimes un nuevo plan en la misma celda anterior, sin agregar todo lo otro
     
print $fila["plan"]." <br>\n";
  }
  
$ult_tipo $fila["tipo"];
//fin while
?>
Muchas Gracias por este código, logré implementarlo con bastante éxito...
Ahora si no es mucha molestia, quisiera saber qué es lo que hace exactamente cada paso, porque lo tengo que implementar en una página de "detalles" de cada establecimiento y tengo que hacer esto, más otro igual para idiomas y turnos (ya que cada establecimiento tiene varios turnos e idiomas.)

Gracias!!