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

Mostrar datos de varios anios

Estas en el tema de Mostrar datos de varios anios en el foro de Mysql en Foros del Web. Buenas Necesito mostrar unas fotos de acuerdo a varios años, por ejemplo fotos del año 2007 y 2008, como puedo hacer esto?, arme asi: Código ...
  #1 (permalink)  
Antiguo 24/04/2009, 10:28
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Mostrar datos de varios anios

Buenas

Necesito mostrar unas fotos de acuerdo a varios años, por ejemplo fotos del año 2007 y 2008, como puedo hacer esto?, arme asi:

Código PHP:
$sql "SELECT * FROM year where anio='2007' AND '2008'" 
Pero no me funciona, tengo un campo anio en la db si lo hago por separado anda pero con el AND no, esta mal la sentencia? como seria ?
  #2 (permalink)  
Antiguo 24/04/2009, 10:53
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Mostrar datos de varios anios

SELECT * FROM year where anio=2007 OR anio= 2008

No deberías usar year como nombre de tabla, pues year es también el nombre de una función de MySQL. Ponle tablaanio o lo que quieras. Así evitarás confusiones.
  #3 (permalink)  
Antiguo 24/04/2009, 11:01
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: Mostrar datos de varios anios

bien, pero el OR no mostraria uno u otro? yo necesito que me muestre todo junto lo que es de 2007 y 2008, y que muestre de 2006 antes de 2007, es decir si toy en 2007 que muestre a continuacion 2008 y antes 2006, no se si se entiende, por ahora solucione haciendo esto:

Código PHP:
SELECT FROM anios where anio BETWEEN 2005 AND 2008 ORDER BY anio ASC 
me muestra lo que hay entre 2005 y 2008 pero como hago para mostrar de 2004?????? por ej...para que este ordenado...
  #4 (permalink)  
Antiguo 24/04/2009, 11:09
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Mostrar datos de varios anios

si usas PHP podes meter la consulta dentro de un for ...
Yo hice algo parecido, pero con clientes, hice una consulta y desplegue todos los datos y les puse un checkbox, eso siempre y cuando sean pocos, jejeje, sino te aparecen 1500 clientes ...
Despues tome los checkbox que estan tildados y hice la consulta...
No si te servira, pero pegate una vuelta por aca

Saludos, Ricardo
__________________
Mail: [email protected]
  #5 (permalink)  
Antiguo 24/04/2009, 11:19
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Mostrar datos de varios anios

Si te refieres al año en curso
SELECT campo1, campo2, campofecha FROM tutabla WHERE YEAR(campofecha) BETWEEN YEAR(CURDATE())-1 AND YEAR(CURDATE())+1 ORDER BY campofecha

y para un año cualquiera (EJ. 2005):
SELECT campo1, campo2, campofecha FROM tutabla WHERE YEAR(campofecha) BETWEEN 2004 AND 2006

Naturalmente podrías restar y sumar 1 a una variable en la cual te traigas el año.
  #6 (permalink)  
Antiguo 24/04/2009, 14:05
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: Mostrar datos de varios anios

Bien va quedando, lo que trato es de, ordenar, por ejemplo si estoy en el año 2005 que primero muestre 2005 y despues el resto, creo que va algo de esta forma pero me ordena mal, el 2005 me muestra primero pero el resto todo desordenado, que puedo hacer?

EDIT, creo que lo tengo, lo hice de esta forma....

Código PHP:
SELECT FROM tablaanio order by anio='2008' DESCanio ASC 
que dicen? veo que anda, esta bien?, muentra primero 2008 y despues los siguientes en ASC....

Última edición por SeNdEr2003; 24/04/2009 a las 14:41
  #7 (permalink)  
Antiguo 25/04/2009, 06:13
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Mostrar datos de varios anios

Yo haría esto:
SELECT campo1, campo2, campofecha FROM tutabla WHERE YEAR(campofecha) BETWEEN YEAR(CURDATE())-1 AND YEAR(CURDATE())+1 ORDER BY if( year( campofecha ) =YEAR(curdate()), 1, 2 ) , campofecha
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 18:12.