Foros del Web » Programando para Internet » PHP »

Ayuda para consultar fechas en la BD por BETWEEN

Estas en el tema de Ayuda para consultar fechas en la BD por BETWEEN en el foro de PHP en Foros del Web. Buenas amigo les escribo a ver si me pueden volver ayudar, le explico tengo una BD mysql en la cual tengo la tabla incidencias que ...
  #1 (permalink)  
Antiguo 18/04/2008, 07:44
 
Fecha de Ingreso: abril-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Ayuda para consultar fechas en la BD por BETWEEN

Buenas amigo les escribo a ver si me pueden volver ayudar, le explico tengo una BD mysql en la cual tengo la tabla incidencias que tengo el campo fecha_incidente el cual es DATE, y me guarda la fecha AAAA-MM-DD, en mi formulario tengo una funcion en ajax que me pone la fecha en el campo dd/mm/aaaa, la cual cambio mediante una funcion a AAAA-MM-DD, asi que no hay problema con eso en cuanto a la busqueda, entonces que es lo que pasa que cuando yo realizo el query el cual pido un rango de fechas y utilizo el BETWEEN no me trae nada, pero lo pongo solo > y si me traen las fechas que sean mayores a la fecha q meti, a ver si me pueden ayudar, les pongo el codigo un poco explicado para que entiendan mejor.

Esta es la funcion para realizar la consulta
function consultar_mostrar_incidencia_fecha($desde, $hasta)
{
$objResponse = new xajaxResponse("iso-8859-1");
$objResponse->addAlert("entro");
$fecha_nueva_desde= transformar_fecha_in($desde);
//$objResponse->addAlert($fecha_nueva_desde);
$fecha_nueva_hasta= transformar_fecha_in($hasta);
//$objResponse->addAlert($fecha_nueva_hasta);
mysql_connect("localhost","root","");///Conectar a la BD
$db ="sistplanificacion";///Elegir la BD
$sql="select incidencia.fecha_incidente, incidencia.hora_inicio_inci, incidencia.hora_fin_inci, incidencia.descrip_incidente, incidencia.causa_incidente, incidencia.solucion_incidente, usuario.nombre_personal, proceso.nombre_proceso from incidencia, usuario, proceso where incidencia.cedula=usuario.cedula and incidencia.cod_proceso=proceso.cod_proceso and incidencia.fecha_incidente BETWEEN fecha_nueva_desde AND $fecha_nueva_hasta";
$res=mysql_db_query($db,$sql);
$fila = mysql_fetch_array($res);
$fecha=$fila['fecha_incidente'];
$hora_inicio=$fila['hora_inicio_inci'];
$hora_fin=$fila['hora_fin_inci'];
$descripcion=$fila['descrip_incidente'];
.
.
.
.
etc
Cualquier cosa q no entiendan me dicen!! necesito ayuda!!, ah en la parte del query del BETWEEN, cuando le pongo incidencia.fecha_incidente>fecha_nueva_desde, si me trae las fechas mayores.
  #2 (permalink)  
Antiguo 18/04/2008, 07:55
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Ayuda para consultar fechas en la BD por BETWEEN

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 18/04/2008, 08:42
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Ayuda para consultar fechas en la BD por BETWEEN

Fecha_nueva_desde y fecha_nueva_hasta son variables y debes tratarlas como tal puedes probar tu codigo asi

Código PHP:
function consultar_mostrar_incidencia_fecha($desde$hasta)
{
$objResponse = new xajaxResponse("iso-8859-1");
$objResponse->addAlert("entro");
$fecha_nueva_desdetransformar_fecha_in($desde);
//$objResponse->addAlert($fecha_nueva_desde);
$fecha_nueva_hastatransformar_fecha_in($hasta);
//$objResponse->addAlert($fecha_nueva_hasta);
$conex =mysql_connect("localhost","root","");///Conectar a la BD
$db ="sistplanificacion";///Elegir la BD
mysql_select_db($db);
$sql="select incidencia.fecha_incidente, incidencia.hora_inicio_inci, incidencia.hora_fin_inci, incidencia.descrip_incidente, incidencia.causa_incidente, incidencia.solucion_incidente, usuario.nombre_personal, proceso.nombre_proceso from incidencia, usuario, proceso where incidencia.cedula=usuario.cedula and incidencia.cod_proceso=proceso.cod_proceso and incidencia.fecha_incidente BETWEEN '$fecha_nueva_desde' AND '$fecha_nueva_hasta'"// Te faltaban las comillas y un $ a fecha_nueva_desde.
$res mysql_query($sql$conex) or die( mysql_error() ); 
$fila mysql_fetch_row($res);
$fecha=$fila['0'];
$hora_inicio=$fila['1'];
$hora_fin=$fila['2'];
$descripcion=$fila['3'];

Saludos
  #4 (permalink)  
Antiguo 18/04/2008, 09:47
 
Fecha de Ingreso: abril-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Re: Ayuda para consultar fechas en la BD por BETWEEN

Graciassssssss!!! todo perfercto eso era lo que me faltaba!!!
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 01:20.