7.084 lecturas 3 comentarios

Buscador multipalabra en PHP

A continuación os enseño como podéis hacer un buscador en PHP y SQL que acepte una cadena compleja, compuesta por varias palabras, de una manera rápida y sencilla.

Para ilustrar los diferentes pasos pondré de ejemplo la tabla Artículos y los campos donde buscar serán Titulo y Desarrollo.

1) Ir al gestor de la base de datos y ejecutar el comando SQL:

ALTER TABLE ARTICULOS ADD FULLTEXT(TITULO, DESARROLLO);

2) Una vez que tenemos los campos como FULLTEXT en el archivo PHP la consulta que haremos será:

SELECT * , MATCH (TITULO,DESARROLLO) AGAINST (‘$busqueda’) AS puntuacion FROM ARTICULOS WHERE MATCH (TITULO, DESARROLLO) AGAINST (‘$busqueda’) ORDER BY puntuacion DESC

Como podéis comprobar ejecutamos la comprobación MATCH dos veces, la primera es para tenerla como puntuación y la segunda la que ejerce la comparación.

Al tener la puntuación podemos mostrarlas por orden descendente o ascendente teniendo como referencia la cantidad de veces que se encuentre la cadena en dicho texto.

¿Fácil verdad?

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.