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

Ayuda con buscador

Estas en el tema de Ayuda con buscador en el foro de Mysql en Foros del Web. Buenas, estoy haciendo un buscador con php y mysql. El tema es que ingresan el campo a buscar en un input, pero ese valor se ...
  #1 (permalink)  
Antiguo 21/07/2009, 07:33
 
Fecha de Ingreso: mayo-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Ayuda con buscador

Buenas, estoy haciendo un buscador con php y mysql. El tema es que ingresan el campo a buscar en un input, pero ese valor se puede referir a cualquier campo de una tabla (si, así me lo pidieron...). El problema es que un cámpo del registro debe cumplir una condición si o sí además de coincidir con el valor de búsqueda. Ejemplo: Seleccionar de pedidos entregados. Debe tener el campo entregado como true o 'si' y además coincidir con el valor que ingresa en el input. Me parece que debe ser simple pero no le encuentro la vuelta. Intenté hacerlo con una consulta como la siguiente:

SELECT * FROM tabla WHERE entregado LIKE 'si' AND pedido='$valor' OR direccion LIKE '$valor' OR .... etc

Esta sentencia me retorna todos los valores que cumplen con los OR pero no discrimina por el valor 'si', osea me trae los que tienen valor 'si' y también los 'no'.

Alguien sabe como realizar esa consulta deforma correcta.
Si no me explico bien avisenme, y pongo otro ejemplo.
Gracias
  #2 (permalink)  
Antiguo 21/07/2009, 07:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda con buscador

Tienes que usar paréntesis:
Código MySQL:
Ver original
  1. SELECT ... FROM ... WHERE campo = 'si' AND (... OR ... OR ...);
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 21/07/2009, 07:44
 
Fecha de Ingreso: mayo-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Respuesta: Ayuda con buscador

David, muchísimas gracias. Sabes que lo había probado, pero al final tenía un order by y también lo había metido entre los paréntesis sin darme cuenta y no me funcionaba. Ahora lo probé nuevamente y me dí cuenta. Muchas gracias
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 07:35.