Comunidad de diseño web y desarrollo en internet online

Consulta sql a partir de varias palabras clave devolver varios resulta

Citar            
MensajeEscrito el 24 Ago 2012 11:55 am
Buenas,

Explico mi problema. Tengo una base de datos llamada empresas con una tabla llamada empresas que contiene los siguientes datos:

- id_empresa
- nombre
- descripcion

Lo que pretendo es realizar un campo de texto (nombre variable: "texto") con un botón Buscar de tal modo que el usuario introduce varias palabras clave y el buscador le devuelve resultados de la búsqueda. Es decir: el usuario introduce: "imprenta, zapateria" y el buscador le devuelve los registros que incluyan la palabra imprenta en el campo descriptición y también las empresas que incluyan la palabra zapateria en el campo descripción.

Hasta ahora he logrado a través de Dreamweaver que funcione para una sola palabra clave pero no para más. Lo que tengo hecho es:

SELECT *
FROM empresas
WHERE descripcion like '%colname%'

colname viene de una variable declarada llamada "texto" que es lo que se introduce como palabra clave.

Muchas gracias por vuestra ayuda

Por romay2001

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Ago 2012 12:20 pm
Hola, deberias hacer un implode para separar las palabras que te llegan desde el formulario y con eso hacer un ciclo armando la sql con OR
Ej:
WHERE `descripcion` like 'palabra1' OR `descripcion` like 'palabra2' `descripcion` like 'palabra3'
Saludos

Por SinSemilla

Claber

336 de clabLevel



Genero:Masculino  

i am that i am...

firefox
Citar            
MensajeEscrito el 24 Ago 2012 12:24 pm
Muchisimas gracias SinSemilla por la rápida respuesta. Soy bastante novato en sql y php. Podrías indicarme cómo hacer el implode a fin de separar la palabra1 de la palabra2?

Muchas gracias de nuevo

Miguel

Por romay2001

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Ago 2012 12:27 pm
Romay2001:

Me temo que SinSemilla se ha confundido, la función para separar palabras por un token es explode(). Por lo demás, lo que te ha dicho es correcto.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 24 Ago 2012 12:49 pm
Muchas gracias DriverOp,

Voy a leerme el tutorial del enlace que me proporcionas y a ver si soy capaz de implementarlo.

Un saludo


Miguel

Por romay2001

11 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.