Foros del Web » Programando para Internet » PHP »

buscada entre margen de fechas.

Estas en el tema de buscada entre margen de fechas. en el foro de PHP en Foros del Web. tengo una tabla X, con registros de contratos que tienen un Inicio y Termino, como sale en el ejemplo. mi problema es que tengo que ...
  #1 (permalink)  
Antiguo 09/09/2010, 12:58
Avatar de shinta_snake  
Fecha de Ingreso: diciembre-2009
Mensajes: 70
Antigüedad: 14 años, 4 meses
Puntos: 0
buscada entre margen de fechas.

tengo una tabla X, con registros de contratos que tienen un Inicio y Termino,
como sale en el ejemplo.



mi problema es que tengo que buscar entre las 2 fechas para mostrar los contratos que se encuentran vigentes en un margen de fechas. (fecha 1 y fecha 2 )

por ejemplo, kiero saber los contratos vigentes entre el mes de febrero, 01-02-2010 y 28-02-2010, que por resultado me debería mostrar , el 4 , 5. y genere un excel con los resultados de la busqueda.

Código PHP:
SELECT FROM XXXXXXX WHERE
 
(fecha_desde <= '$fec1' and fecha_hasta >= '$fec1'
or
 (
fecha_desde <= '$fec2' and fecha_hasta >= '$fec2')) 
esto hice para intentar salir del problema ... funciona bn en cortos plazos
pero en un año completo , no muestra todos los que deberia mostrar.
alguna idea. espero su respuesta
  #2 (permalink)  
Antiguo 09/09/2010, 13:01
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: buscada entre margen de fechas.

el campo lo tienes como date???
puedes usar el between algo asi
Código MySQL:
Ver original
  1. SELECT * FROM tabla WHERE fecha1 between '$fecha1' and '$fecha2';
espero te ayude
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 09/09/2010, 13:01
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 13 años, 10 meses
Puntos: 36
Respuesta: buscada entre margen de fechas.

corazon creo que la instruccion se hace con un between, no recuerdo bien pero busca sobre eso
  #4 (permalink)  
Antiguo 09/09/2010, 13:07
Avatar de shinta_snake  
Fecha de Ingreso: diciembre-2009
Mensajes: 70
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: buscada entre margen de fechas.

sip esta como DATE, el problema es que tengo las 2 fechas Fecha INICIO y Fecha TERMINO en los contratos y tengo 2 fechas mas Fecha1 y Fecha2.
osea entre un rango de fechas Fec1 (01-02-2010) hasta fec2 (28-02-2010) buscar los contratos que se encuentran VIGENTES.
o kieres que reemplaza los > < por between?
  #5 (permalink)  
Antiguo 09/09/2010, 13:21
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: buscada entre margen de fechas.

bueno podrias hacerlo asi
Código MySQL:
Ver original
  1. select * from prueba where '$fecha1' between fecha_desde and fecha_hasta or '$fecha2' between fecha_desde and fecha_hasta;
pruebalo y ve si te sirve saludos;
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #6 (permalink)  
Antiguo 09/09/2010, 13:32
Avatar de shinta_snake  
Fecha de Ingreso: diciembre-2009
Mensajes: 70
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: buscada entre margen de fechas.

lo probe... se parece bastante a como lo tenia, al principio en teoria, no esta malo,
pero cuando busco contratos Vigentes en un año (01-01-2010 31-12-2010 ) me tira en total
una cantidad de 125 aprox y cuando realizo la misma busqueda entre un margen de tiempo mas especifico (01-09-2010 30-09-2010) me arroja un resultado de 189 aprox.

mismo problema que tenia al principio.... el problema que no muestra los contratos que comienzan entremedio como se puede decir, que son cortos o muestra algunos nomas.

nose si es problema de la herramienta o no

Código PHP:
SELECT  FROM XXXXXXX WHERE 
'$fec1' BETWEEN fecha_desde AND fecha_hasta 
OR 
'$fec2' BETWEEN fecha_desde AND fecha_hasta 
  #7 (permalink)  
Antiguo 09/09/2010, 13:42
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: buscada entre margen de fechas.

Pues tu problema es más de consulta, no de php.

En el foro de mysql seguro te ayudan

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #8 (permalink)  
Antiguo 09/09/2010, 13:52
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: buscada entre margen de fechas.

pues entonces la consulta esta mal planteada debes de comparar la fecha de inicio que indicas en la variable con la fecha de inicio de tu tabla y la fecha final de la variable con la fecha final de tu tabla asi
Código MySQL:
Ver original
  1. select * from tabla where fecha_desde>='$fec1' and fecha_asta<='$fec2';
revisalo asi y ve si te sirve saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #9 (permalink)  
Antiguo 09/09/2010, 14:12
Avatar de shinta_snake  
Fecha de Ingreso: diciembre-2009
Mensajes: 70
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: buscada entre margen de fechas.

esa era la idea de un comienzo ... pero kisieron otra cosa, io le e dado vueltas y vueltas
al asunto y np puedo encontrar la solucion...

iwal.. puede con las fechas grandes pero con fechas pequeñas se cae.
  #10 (permalink)  
Antiguo 09/09/2010, 14:19
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: buscada entre margen de fechas.

se cae con las fechas pequeñas yo lo probe con una fecha de dos dias y me funciono pero bue noc q pueda estar pasando pasate por el foro de mysql a ver si te pueden ayudar mas saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #11 (permalink)  
Antiguo 09/09/2010, 18:18
Avatar de shinta_snake  
Fecha de Ingreso: diciembre-2009
Mensajes: 70
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: buscada entre margen de fechas.

mmm alguna idea por... toy pegao en esto.

Etiquetas: fechas, margen
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 12:13.