Foros del Web » Programando para Internet » PHP »

Mostrar Datos Agrupados por Categoria

Estas en el tema de Mostrar Datos Agrupados por Categoria en el foro de PHP en Foros del Web. Saludos, bueno quisiera organizar datos segun categorias. por ejemplo. de la siguiente manera aparece en las tabla Nombre 1 | CAT1 Nombre 2 | CAT1 ...
  #1 (permalink)  
Antiguo 03/03/2009, 22:42
 
Fecha de Ingreso: noviembre-2004
Mensajes: 43
Antigüedad: 19 años, 5 meses
Puntos: 0
Mensaje Mostrar Datos Agrupados por Categoria

Saludos, bueno quisiera organizar datos segun categorias.
por ejemplo.

de la siguiente manera aparece en las tabla

Nombre 1 | CAT1
Nombre 2 | CAT1
Nombre 3 | CAT1
Nombre 4 | CAT2
Nombre 5 | CAT2

Quisiera que aparescan de esta forma.

CAT1
Nombre 1
Nombre 2
Nombre 3
CAT2
Nombre 4
Nombre 5

aver si me di a entender.

Saludos
  #2 (permalink)  
Antiguo 03/03/2009, 23:04
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Mostrar Datos Agrupados por Categoria

Hmmm, hay varias opciones.

La primera es, dentro de el bucle crear la consulta para recuperar los nombres
La segunda es, usar GROUP_CONCAT de MySQL (Disponible desde MySQL 4.1 en adelante)
O:

Código PHP:
<?php
$result 
mysql_query("SELECT * FROM tabla1 INNER JOIN tabla2 ON tabla1.id = tabla2.id_fk");
while(
$row mysql_fetch_assoc($result)) {
if(
$lastCat != $row['cat']) {
  
//imprime el titulo de la categoria
  //imprime nombre1
} else {
  
//imprime nombre2 o 3, etc...
}
$lastCat $row['cat'];
}
?>
Yo prefiero usar GROUP_CONCAT, te ahorras hacer mucho codigo.
  #3 (permalink)  
Antiguo 24/07/2009, 10:45
 
Fecha de Ingreso: julio-2009
Mensajes: 9
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Mostrar Datos Agrupados por Categoria

Dirias por favor como seria con GROUP_CONCAT?? Gracias!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:34.