Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/01/2010, 07:02
Avatar de arielcasanova
arielcasanova
 
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 2 meses
Puntos: 1
Respuesta: consulta con fulltext y match against

Jurena: la consulta me quedó así:

Código:
SELECT * FROM productos	WHERE MATCH (nombre,palabras_clave,descripcion, beneficios, composicion) AGAINST ('+aceite +de +primula' IN BOOLEAN MODE) order by nombre asc
y funciona correctamente. Ahora me resta ver cómo hago un array con explode o algo así para ponerle el + antes de cada palabra que se pasa en el campo "buscar" del formulario, pero eso es harina de otro costal.
.

Pero ya que estoy por aquí, hago otra pregunta:
cuando en el campo "buscar" se introduce más de una palabra, el sistema ejecuta la consulta anterior. Pero cuando es sólo una palabra, le hago que ejecute ésta consulta:

Código:
SELECT * FROM productos WHERE  $sqla (nombre LIKE '%termino%' OR palabras_clave LIKE '%termino%' or descripcion LIKE '%termino%' OR beneficios LIKE '%termino%' or composicion LIKE '%termino%') order by nombre asc
El tema es que esto busca palabras que no son completas. Es decir, si alguien busca la palabra "mina", le aparecen todos los productos que digan vitamina, por el uso de los % al principio y final de la variable, y no quiero eso.
Pero sí quiero que si pone "vitamina" le aparezcan los términos que digan "vitaminas" y "pro-vitamina" por ejemplo... Es demasiado complicado no? quizá sea algo para programar con php y luego pasar en la consulta.

¿alguna sugerencia?
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar