Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/02/2005, 17:51
Elalux
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 3 meses
Puntos: 22
Busqueda con varias palabras clave

Saludos Maestros , he aquí mi cuestón:

Tengo la siguiente tablita en mi base de datos llammada, cliente.

id | nombre | empresa | direccion | observaciones

Muy bien, ahora tengo en una página un formulario con una casilla de texto para que el visitante escriba la palabra clave y un script busca coincidencias en todos los campos de la tabla, sin importar si son mayusculas o minúsculas, para hacer esto realizo lo siguiente:

1.- Recibo la consulta:

$consulta=$_POST['consulta'];

2.- Armo mi Query:

$cadena="SELECT * FROM cliente WHERE ((nombre LIKE '%$consulta%') OR (empresa LIKE '%$consulta%') OR (direccion LIKE '%$consulta%') OR (observaciones LIKE '%$consulta%')) ORDER BY nombre";


Ahora bien, funciona muy bien siempre y cuando el visitante haya introducido solo una palabra, pero si introduce varias palabras ya no, por que intenta buscar coincidencias donde aparezcan exactamente las palbras que escribió, todas las palabras y en el mismo orden.

Esto es, si el visitante escribió "Eduardo compras" en la casilla del formulario, el script intentará buscar la cadena completa, aunque la palabra "Eduardo" este en el campo Nombre y "Compras" en el campo Observaciones, pero co mo no las ecnuentra ambas, contiguas en el mismo campo no me muestra el resultado correcto.

Habria alguna forma para que funcione la búsqueda para varias palabras aunque dichas palabras estén en diferentes campos de la tabla?

No se si me expliqué bien, de todas formas agradeceré infinitamente cualquier ayuda.

Saludos.

Última edición por Elalux; 11/02/2005 a las 17:52