Foros del Web » Programando para Internet » PHP »

consulta con rango de fechas

Estas en el tema de consulta con rango de fechas en el foro de PHP en Foros del Web. Hola! Resulta que tengo un problema muy extraño que no había detectado hasta el día de hoy.... Tengo en mi base de datos una serie ...
  #1 (permalink)  
Antiguo 31/08/2005, 14:52
Avatar de Ledita  
Fecha de Ingreso: agosto-2005
Mensajes: 54
Antigüedad: 12 años, 3 meses
Puntos: 0
consulta con rango de fechas

Hola! Resulta que tengo un problema muy extraño que no había detectado hasta el día de hoy....
Tengo en mi base de datos una serie de registros con su respectiva fecha en formato Unix_timestamp, y cuando quiero buscar todos los registros dentro del rango de fecha de un mes, me excluye los valores cuyas fechas sean del dìa primero y ultimo... aqui les incluyo parte del codigo

$persona=$_POST['tecnico'];
$anio=$_POST['anio'];
$mes=$_POST['mes'];

$fechafin=armafecha($anio,$mes);
$fechaini=($anio.$mes.'01');

$resultado=mysql_query("select * from reporte where captura=$persona and atendido=0 and fecha between UNIX_TIMESTAMP($fechaini) and UNIX_TIMESTAMP($fechafin)",$link);


donde tengo un par de echos que me dicen que el rango de fechas que busca (en este caso) es del 01/08/05 al 31/08/05... por que no me muestra los registros del dìa 1 o del dìa 31??????

Ayuda por favor!
  #2 (permalink)  
Antiguo 31/08/2005, 15:12
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
No se si hacer esto: $fechaini=($anio.$mes.'01'); resulte en un timestamp, creo que mejor usas mktime, asi:

$fechaini=mktime(0,0,0,$mes,1,$anio);

Haz lo mismo en tu funcion armafecha.
  #3 (permalink)  
Antiguo 01/09/2005, 12:21
Avatar de Ledita  
Fecha de Ingreso: agosto-2005
Mensajes: 54
Antigüedad: 12 años, 3 meses
Puntos: 0
hey! mil gracias! ahora me funciona muy bien, solo tuve que cambiar tambien la fechafin=mktime(24,0,0,$mes,$dia,$anio)
Y ahora no me excluye ningun registro.

Por si a alguien le llega a pasar, mi problema estaba en que buscaba solamente los registros del 01/08/05 hasta los capturados a las 00 hrs del 31/08/05, por eso los que se incluian dentro del dìa 31 los estaba excluyendo... con la función mktime(); lo solucioné por que ahora le puedo indicar que tambien considere los capturados hasta las 24hrs del día 31....

Fácil no?
Ahora tengo un dolor de cabeza menos..
  #4 (permalink)  
Antiguo 01/09/2005, 13:37
Avatar de Ledita  
Fecha de Ingreso: agosto-2005
Mensajes: 54
Antigüedad: 12 años, 3 meses
Puntos: 0
Corrección.. solo quiero aclarar que cometí un error en el último post, si utilizo mktime(24,0,0,$mes,31,$anio); me va a incluir los del dìa 01 del mes siguiente... el formato correcto vendria siendo mktime(23,59,59,$mes,31,$anio);

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 10:56.