Comunidad de diseño web y desarrollo en internet online

hacer select con un rango de fecha

Citar            
MensajeEscrito el 15 Jul 2009 01:09 am
hola amigos,
trato de hacer un select que recupere registro que se encuentren en un rango de fecha, utilice esta sentencia:

$sql = "SELECT * FROM $tabla WHERE date_format(fp002, '%e-%c-%Y') between '$fechainicio' and '$fechafin' ";

solo funciona cuando la fechainicio es igual a la fechafin, pero no funca cuando son distintas me muestra todos.
que esta mal o como podria realizar este select.

Por italo20

1 de clabLevel



 

msie8
Citar            
MensajeEscrito el 15 Jul 2009 01:13 am
olvide indicar que fp002 es un campo tipo timestamp
disculpando

Por italo20

1 de clabLevel



 

msie8
Citar            
MensajeEscrito el 15 Jul 2009 02:55 pm
no estoy muy seguro del por que me parece que es por el between pero no estoy muy seguro.

yo cuando tengo un problema similar hago mi consulta de este modo

select * from tabla where date_format(fp002, '%e-%c-%Y')>=$fechaInicio and date_format(fp002, '%e-%c-%Y')<=$fechaFin

podrias intentar una consulta de este tipo para ver que ocurre otra cosa que puede ser es el tipo de dato timestamp yo utilizo el date par fechas y time para hora son mas campos en la tabla pero siento que se estructura mejor la informacion

Por jorhcl

28 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Jul 2009 05:08 pm
Si el attributo fp002 es un timestamp, te seria más util convertir las fechas que envias a ese formato usando la funcion UNIX_TIMESTAMP() de Mysql, quedando algo parecido a esto:

select * from tabla where fp002 between UNIX_TIMESTAMP("$fechaInicio") and UNIX_TIMESTAMP("$fechaFin")

Recuerda que el Timestamp registrar Fecha y Hora.
Suerte.

Por -george-

58 de clabLevel



 

Tartarus

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.