Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > Mysql

Respuesta
 
Herramientas Desplegado
Antiguo 07-nov-2007, 12:46   #1 (permalink)
jariscano ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2004
Mensajes: 184
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.
jariscano está desconectado   Responder Citando
Antiguo 07-nov-2007, 21:29   #2 (permalink)
Colaborador
Linterns tiene algunos puntos positivos de karma
 
Avatar de Linterns
 
Fecha de Ingreso: noviembre-2002
Mensajes: 2.803
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
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
Linterns está desconectado   Responder Citando
Antiguo 08-nov-2007, 01:10   #3 (permalink)
jariscano ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2004
Mensajes: 184
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.
jariscano está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 03:06.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93