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

Consulta: obtener registros separados por secciones

Estas en el tema de Consulta: obtener registros separados por secciones en el foro de Mysql en Foros del Web. Actualmente para obtener un resultado realizo varias consultas. Quisiera saber si hay una consulta que me permita obtener los mismos resultados de una vez. resulta ...
  #1 (permalink)  
Antiguo 20/06/2008, 13:19
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Consulta: obtener registros separados por secciones

Actualmente para obtener un resultado realizo varias consultas.
Quisiera saber si hay una consulta que me permita obtener los mismos resultados de una vez.

resulta que tomo lo siguiente:

select * from nochevarios where seccion='bares' order by fecha desc;

entonces utilizo una imagen (bares.jpg) y abajo listo los resultados

select * from nochevarios where seccion='eventos' order by fecha desc;

entonces utilizo una imagen (eventos.jpg) y abajo listo los resultados

select * from nochevarios where seccion='presentaciones' order by fecha desc;

entonces utilizo una imagen (presentaciones.jpg) y abajo listo los resultados


Me gustaría poder realizar una consulta sola que tome todos los eventos, los agrupe por seccion, y utilice ese nombre de seccion acompañado por ".jpg" para que separe a unos de otros.

sería algo como select * from nochevarios group by seccion... no sé... ¿quizàs algo convenido con arrays de php? Bueno, entonces tendré que trasladarme de foro, pero mientras tanto, pregunto por aquí.

gracias...
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #2 (permalink)  
Antiguo 21/06/2008, 06:28
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta: obtener registros separados por secciones

Código:
select * 
    from nochevarios 
    where seccion in ('bares','eventos','presentaciones') 
    order by seccion asc, fecha desc;
Esto te dará los mismos resultados que las consultas que usabas antes, ahora bien para intercalar la imagen deberás usar programación php, si te pongo el código aquí los moderadores se enojan... pero una combinación de while para recorrer el resultado y algún if que controle cuando pasa de una sección a otra... habría que hacer un par de pruebas... aprovecha que el nombre de la sección y de la imagen es el mismo, quizás guardando en una variable el nombre de la primera sección ($seccionanterior fuera del while) y if sección es distinta de $seccionanterior (dentro del while) introduces la imagen usando el nombre de la sección concatenado con ".jpg" y luego haces $seccionanterior=seccion (dentro del if) de manera que los siguientes registros ya encuentren que la sección anterior es igual a la actual....

Si tuvieras mas secciones creo que esto también funcionaria


Código:
select * 
    from nochevarios 
    order by seccion asc, fecha desc;
solo tendrías que tener una imagen para cada sección y se intercalarían entre los registros sea cual sea el numero de secciones...

Quim

Última edición por quimfv; 21/06/2008 a las 06:53
  #3 (permalink)  
Antiguo 21/06/2008, 12:42
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consulta: obtener registros separados por secciones

otra propuesta, en la misma línea que las de Quim, pero algo distinta, consistiría en hacer primero una consulta en la que te traes la lista de id y nombres de secciones con los criterios que estimes oportunos y ordenando como quieras esas secciones, y luego dentro del while donde los muestras con tu programa, vuelves a hacer otra consulta poniendo en el WHERE el id de cada sección, si quieres con otro orden, y mediante otro while anidado muestras los datos de cada una de ellas. Pero eso deben concretártelo en el foro del programa que utilices. Viene a ser casi lo mismo que lo de los arrays, pero sin arrays. Y por lo que se refiere a MySQL serían, eso sí, dos consultas.
  #4 (permalink)  
Antiguo 23/06/2008, 06:36
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: Consulta: obtener registros separados por secciones

Quimfv y Jurena, muchas gracias. Ahora veré qué opción puedo aplicar, pero ambas me parecen muy viables.
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #5 (permalink)  
Antiguo 23/06/2008, 13:19
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: Consulta: obtener registros separados por secciones

pero estoy complicadísimo y no logro resolverlo... me paso a php!
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
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 16:40.