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

Query que busca registros entre dos campos DATE(). Necesito una mano.

Estas en el tema de Query que busca registros entre dos campos DATE(). Necesito una mano. en el foro de Mysql en Foros del Web. Hola Intento hacer una query que haga lo que dice el titulo, pero no lo logro. Despues de probar (y por supuesto, de leer las ...
  #1 (permalink)  
Antiguo 29/05/2006, 19:59
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 3 meses
Puntos: 2
Query que busca registros entre dos campos DATE(). Necesito una mano.

Hola

Intento hacer una query que haga lo que dice el titulo, pero no lo logro. Despues de probar (y por supuesto, de leer las FAQ y buscar en el sitio mysql.org) realice varios intentos, el ultimo fue:
$desde y $hasta tiene formato DATE (0000-00-00).

select * from tabla where fecha >= '$desde' and fecha <= '$hasta'

No funciona, y tampoco un ejemplo que me habia pasado un compañero:

select * from tabla where fecha between '$desde' and '$hasta'

No logro dar en el clavo... necesito esta query para un buscador de noticias que permita al usuario elegir "AÑO y MES", "DESDE y HASTA", como podrán deducir.

¿Tal vez me puedan dar una mano para formular la query?

MUCHAS GRACIAS.
  #2 (permalink)  
Antiguo 29/05/2006, 20:50
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
esas consultas estan bien, pq no te fijas en la tabla como estan los valores del campo fecha, talvez los estas cargando mal y estan todos en 0000-00-00, ami me paso varias veces :P
saludos
  #3 (permalink)  
Antiguo 30/05/2006, 23:45
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 3 meses
Puntos: 2
Es verdad Emilio, las querys estan bien. El esta mal soy yo que por confiado no postie' la query exactamente como estaba en mi script, y ahora deduzco que el problema es el orden de las condiciones... mira asi esta la query:

$sql = "select * from noticias where fecha >= '$desde' and fecha <= '$hasta' and titulo like '$clave' or texto like '$clave'";

Como verás, no solo busco por fechas, sino que busco también una KEY. ¿Por que no la postie asi? por que estaba 100% seguro de que el problema era la busqueda de las fechas... del error se aprende, no vuelvo a hacer eso jeje.

La cuestion...¿Como deberia ordenar esta query? Por lo que veo en los resultados solo me muestra los registros en base a la KEY pero NO en base a las fechas... cuando quité todo el tema de las KEYs encontraba perfectamente los registros por FECHA.

Bueno gracias por tu respuesta y perdon por no haberme explicado bien con anterioridad.

Saludos!
  #4 (permalink)  
Antiguo 31/05/2006, 00:04
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 3 meses
Puntos: 2
PARECE QUE LO SOLUCIONEEE!!!

Mira, puse esto:

$sql = "select * from noticias where (fecha >= '$desde' and fecha <= '$hasta') and (titulo like '$clave' or texto like '$clave')";

¿Crees que está bien asi?

GRACIAS
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 04:22.