Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Agrupar campos a raíz de otro campo

Estas en el tema de Agrupar campos a raíz de otro campo en el foro de Mysql en Foros del Web. Hola a todos, tengo un lio en la cabeza que no me aclaro. A ver si podeis orientarme o decirme si lo que necesito por ...
  #1 (permalink)  
Antiguo 28/02/2013, 13:52
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 30
Agrupar campos a raíz de otro campo

Hola a todos, tengo un lio en la cabeza que no me aclaro. A ver si podeis orientarme o decirme si lo que necesito por lo menos se podría hacer.

Tengo una sola tabla (no me dejan modificar la base de datos, de ahí el problema)

La estructura por poner un ejemplo sería así:

Cita:

id | categoria | curso | nombre_alumno

1 | primaria | 1º |nombre_alumno

2 | primaria | 2º | nombre_alumno

3 | Segundaria | 1º ESO

4 | segundaria | 2º ESO

5 | segundaria | 3º ESO

6 | bachiller | 1º bachiller

7 | bachiller | 2º bachiller

La cuestión es que he de hacer un menú con PHP a raiz de hacer una consulta, y debe de quedar así:

Cita:

PRIMARIA
- 1º
- 2º
SEGUNDARIA
- 1º ESO
- 2º ESO

ETC
Yo en realidad no se que datos van a haber en la bd, por ello necesito hacer una consulta que me distinga la categoria, y me agrupe los cursos que pertenezcan a cada categoria. Una vez creado el menú, se mostrarán los alumnos de dicho curso....

¿Alguna idea de como plantear la consulta para poder recoger estos datos?
  #2 (permalink)  
Antiguo 28/02/2013, 14:15
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Agrupar campos a raíz de otro campo

Hola!, ya que lo haces con PHP puedes recorrer todos los cursos ordenando por categoria y curso, con PHP preguntas en cada ciclo si la categoría ha cambiado, o sea algo asi:

Código SQL:
Ver original
  1. SELECT categoria,curso FROM tabla ORDER BY categoria,curso

Hasta ahi solo has ordenado las cosas, ahora en PHP puedes hacer algo como esto:

Código PHP:
Ver original
  1. $prev=0;
  2. while($MFA=mysql_fetch_array($result)){
  3.   if($prev!=$MFA['categoria']){ // solo si la categoria cambia...
  4.     $prev=$MFA['categoria'];
  5.     echo $prev; //se imprime la categoria
  6.   }
  7.   echo $MFA['curso']; //se imprime el curso
  8. }
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D

Etiquetas: agrupar, campo, campos, php, tabla
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:43.