Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ayuda Select Fechas MySQL

Estas en el tema de Ayuda Select Fechas MySQL en el foro de Mysql 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:24
 
Fecha de Ingreso: agosto-2007
Mensajes: 248
Antigüedad: 16 años, 8 meses
Puntos: 1
De acuerdo Ayuda Select Fechas MySQL

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?.



$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,i d_expositor,t_expositores.id_punto_venta

FROM t_expositores,t_puntos_venta
WHERE t_expositores.id_punto_venta=t_puntos_venta.id_pun to_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 ¡¡¡¡
  #2 (permalink)  
Antiguo 16/04/2009, 08:06
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Ayuda Select Fechas MySQL

Que tal superdober

Prueba con:

Código mysql:
Ver original
  1. SELECT tpv.nro_estacion,numero,fecha_entrega,id_expositor,te.id_punto_venta
  2. FROM t_expositores te inner join t_puntos_venta tpv
  3. on te.id_punto_venta=tpv.id_punto_venta
  4. where (te.id_punto_venta = '$id_puntodeventa_buscar' and
  5. tpv.nro_estacion LIKE '%$puntodeventa_a_buscar%' and
  6. te.numero LIKE '%$numexpositores_a_buscar%') or
  7. t_expositores.fecha_entrega = '$fechaentrega_a_buscar'
  8. ORDER BY nro_estacion ASC

Para consultas tan largas, es recomendable hacer uso de inner join para relacionar las tablas.
Ademas, de utilizar alias en las tablas, ya que los nombres de las tablas son muy largos y tienen a generar errores
cuando son antepuestos en los campos.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:46.