Foros del Web » Programando para Internet » PHP »

Rango de fechas

Estas en el tema de Rango de fechas en el foro de PHP en Foros del Web. Foreros, apelo a su sabiduría. Tengo un Input (select) para elegir dia,mes,año : dia inicio - mes inicio - año inicio dia fin - mes ...
  #1 (permalink)  
Antiguo 22/07/2008, 09:23
 
Fecha de Ingreso: octubre-2007
Ubicación: Capital Federal
Mensajes: 215
Antigüedad: 16 años, 6 meses
Puntos: 1
Rango de fechas

Foreros, apelo a su sabiduría.

Tengo un Input (select) para elegir dia,mes,año :

dia inicio - mes inicio - año inicio
dia fin - mes fin - año fin

Mediante ésta selección creo un rango.

Con las fechas, hago varias cosas además d ésto y por éste motivo las manejo como si fueran varchar (por ésto apelo a su sabiduría).

Recojo las variables del post select:

$dia1= $_POST["fechainicio"]; , $mes1= $_POST["mesinicio"]; .... etc.

Y recojo las variables de fecha que tengo en base.

$fecha=$row['Fechaingreso'];
$fech = explode("/", $fecha);
$diabase=$fech[0];
$mesbase=$fech[1];
$anobase=$fech[2];

Ahora bien, con estos datos... como hago para hacer un condición correcta para que me tome el rango de fechas ??

Si hago algo así :
IF ( ($dia1 <= $diabase) AND ($mes1 <= $mesbase) AND ($ano1 <= $anobase) AND ($dia2 >= $diabase) AND ($mes2 >= $mesbase) AND ($ano2 >= $diabase) )

Me toma bien sólo los rangos crecientes, ej :
Rango 1: 01/02/2008
Rango 2: 10/05/2008

Si pongo :

Rango 1: 01/01/2008
Rango 2: 01/10/2008

La búsqueda que me arroja no es correcta.

Me podrán dar una mano con ésto ?

Muchas gracias por las respuestas.

Saludos.

Javi.
  #2 (permalink)  
Antiguo 22/07/2008, 10:03
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Rango de fechas

tenes q tratar de formar una consulta del tipo

select * from tabla where fecha beetwen aaaa-mm-dd and aaaa-mm-dd

la primera seria la menor fecha y la otra la mayor
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 22/07/2008, 13:09
 
Fecha de Ingreso: octubre-2007
Ubicación: Capital Federal
Mensajes: 215
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Rango de fechas

Leíste q en la bd las fechas que quiero buscar no estan en Date, sino Varchar ?

Necesito filtrar por rango dejandolas como Varchar.

A ver quien es el sabio que me ayuda con esto.
  #4 (permalink)  
Antiguo 22/07/2008, 14:08
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 150
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Rango de fechas

Una vez tuve que enfrentarme a algo parecido, para ello utilicé una funcin de mysql que se llama CAST y que lleva como parametro el tipo de dato. De tal manera que podrias hacer esto:

SELECT * FROM tabla WHERE CAST(fecha_en_varchar AS DATE) BETWEEN rango1 AND rango2

De esta manera el valor del campo fecha, que tienes como var char, será tomado como tipo fecha de mysql.

Saludos.
  #5 (permalink)  
Antiguo 22/07/2008, 15:56
 
Fecha de Ingreso: octubre-2007
Ubicación: Capital Federal
Mensajes: 215
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Rango de fechas

Podria ser una manera.

Consulta:

El cast me convierte mi varchar 12/07/2008 en formato date
y me lo deja en "inglés" ? así --> 2008-07-12 ???

Los rangos de inicio y fin tendría que "formatearlos" de alguna manera?

Gracias y espero tu respuesta.
  #6 (permalink)  
Antiguo 22/07/2008, 17:56
 
Fecha de Ingreso: octubre-2007
Ubicación: Capital Federal
Mensajes: 215
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Rango de fechas

PHP 4 (4.4.6) soporta la función CAST ??

Ya q estamos añado otra interrogante... me actualizo a PHP5 ? tiene alguna GRAN ventaja respecto al 4 ??

Última edición por JavierCS2007-; 22/07/2008 a las 18:02
  #7 (permalink)  
Antiguo 23/07/2008, 09:12
 
Fecha de Ingreso: octubre-2007
Ubicación: Capital Federal
Mensajes: 215
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Rango de fechas

Alguno q sepa ??
  #8 (permalink)  
Antiguo 23/07/2008, 13:17
 
Fecha de Ingreso: octubre-2007
Ubicación: Capital Federal
Mensajes: 215
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Rango de fechas

Necesito ayuda con esto, por favor, alguien que pueda ayudarme que no logré hacer q funcione
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 11:32.