Foros del Web » Programando para Internet » PHP »

Problema Busqueda PHP-MySQL Fechas

Estas en el tema de Problema Busqueda PHP-MySQL Fechas en el foro de PHP en Foros del Web. Tengo un formulario en PHP con tres campos: Punto de Venta, Numero de Expositores y Fecha Entrega. Me gustaría saber como hacer la consulta en ...
  #1 (permalink)  
Antiguo 16/04/2009, 04:23
 
Fecha de Ingreso: agosto-2007
Mensajes: 248
Antigüedad: 16 años, 8 meses
Puntos: 1
De acuerdo Problema Busqueda PHP-MySQL Fechas

Tengo un formulario en PHP con tres campos: Punto de Venta, Numero de Expositores y Fecha Entrega.

Me gustaría saber como hacer la consulta en MySQL de tal manera que al buscar por cualquiera de los 3 campos me diera un resultado correcto. He hecho una consulta que funciona en todos los casos menos en 1 y no se porque.

El unico caso en el que veo que no funciona es cuando busco por un Punto de Venta que si existe y una Fecha de Entrega que no existe dejando en blanco el Numero de Expositores. ¿Alguna Idea?.



Código:
 $puntodeventa_a_buscar = mysql_real_escape_string ($puntodeventa_a_buscar);
	  $numexpositores_a_buscar = mysql_real_escape_string ($numexpositores_a_buscar);
	  $fechaentrega_a_buscar = mysql_real_escape_string ($fechaentrega_a_buscar);
	  $id_puntodeventa_buscar = mysql_real_escape_string ($id_puntodeventa_buscar);
	  
/*Cambio Formato de Fecha a MySQL aaaa-mm-dd, en el formulario se escribe como dd/mm/aaaa*/

	  ereg( "([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $fechaentrega_a_buscar, $mifecha); 
      $lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1]; 
      $fechaentrega_a_buscar = $lafecha; 

$sql_buscar_expositor = "SELECT t_puntos_venta.nro_estacion,numero,fecha_entrega,id_expositor,t_expositores.id_punto_venta

FROM t_expositores,t_puntos_venta							  
WHERE t_expositores.id_punto_venta=t_puntos_venta.id_punto_venta											
AND (t_expositores.id_punto_venta = ('$id_puntodeventa_buscar'))	
AND (t_puntos_venta.nro_estacion LIKE ('%$puntodeventa_a_buscar%'))
AND ((t_expositores.numero LIKE ('%$numexpositores_a_buscar%'))
or (t_expositores.fecha_entrega = ('$fechaentrega_a_buscar')))												
ORDER BY nro_estacion ASC";


Gracias ¡¡¡¡

Última edición por superdober; 16/04/2009 a las 04:32
  #2 (permalink)  
Antiguo 16/04/2009, 07:35
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 2 meses
Puntos: 43
De acuerdo Respuesta: Problema Busqueda PHP-MySQL Fechas

Buenas,

Tienes todas las condiciones de busqueda con AND delante, tienen que cumplirse todas para que te dvuelva un valor,

Código PHP:
AND ((t_expositores.numero LIKE ('%$numexpositores_a_buscar%'))
or (
t_expositores.fecha_entrega = ('$fechaentrega_a_buscar'))) 
Si dices que pones a buscar un valor en fecha que no existe y numero de Expositores en blanco, la condicion esta te va retornar False y como tiene AND
cuando encuentre Un Punto de Venta y condicion
Código PHP:
AND ((t_expositores.numero LIKE ('%$numexpositores_a_buscar%'))
or (
t_expositores.fecha_entrega = ('$fechaentrega_a_buscar'))) 
retorne false no te va a devolver nada.

Tienes que ver tambien
Código PHP:
AND (t_puntos_venta.nro_estacion LIKE ('%$puntodeventa_a_buscar%')) 
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 06:06.