Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   Ordenar por fechas mas recientes a hoy (http://www.forosdelweb.com/f86/ordenar-por-fechas-mas-recientes-hoy-531386/)

jariscano 07/11/2007 13:46

Ordenar por fechas mas recientes a hoy
 
Esta pregunta lo he hecho en el foro de php pero me han recomendado que la pusiera aqui (como no puedo moverla) vuelvo a formularla.

Estoy trabajando en una agenda. Tengo una base de datos donde tengo todos los eventos del mes de noviembre. Necesito que la consulta sql me muestre los 10 eventos proximos mas cercanos a la fecha de hoy.

Me han contestado y he estado probando con diferentes sentencias entre ella esta pero no me funciona:

select * from agenda WHERE DATE_SUB(CURDATE(),INTERVAL 10 DAY) <= fecha AND categoria='cultural'

fecha es el campo de la base de datos y esta como tipo date.

La sentencia no me hace caso, me muestra todos los eventos de la categoria cultural independiente de la fecha, me muestra del dia 31 y estamos a dia 7, por lo que no me funciona.

Un compañero del foro me ha sugerido poner limit pero primero prefiero solucionar que solo me muestre los eventos proximos en 10 dias a hoy y luego ya pondre el limit si llegua a funcionar.

Que creeis que me falla?.

Saludos.

Linterns 07/11/2007 22:29

Re: Ordenar por fechas mas recientes a hoy
 
A ver si te entiendo; quieres los eventos de los proximos 10 dias contando a la fecha actual?

Código PHP:

Select *
from agenda
where fecha 
>= date()
   and 
fecha <= date_add(date(), INTERVAL 10 DAY)
   and 
categoria 'cultural' 

Ojo: Limit lo que te va a extraer es un numero determinado de tuplas, no lo que tu estas buscando

jariscano 08/11/2007 02:10

Re: Ordenar por fechas mas recientes a hoy
 
Muchas gracias Linterns me funciona aunque he tenido que hacer un pequeño cambio. No me funciona la funcion date(), la he sustituido por curdate(), que es lo mismo con lo que querdaria así:

Cita:

select * from agenda where fecha >= curdate() and fecha <= date_add(curdate(), INTERVAL 10 DAY) and categoria = 'cultural' ORDER BY fecha ASC
Mil gracias.


La zona horaria es GMT -6. Ahora son las 13:03.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.