5.341 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

  • Dani 10/19/2009

    Me parece perfecto coger artículos de otro sitio, SIEMPRE Y CUANDO, si te piden que añadas la fuente se haga.

  • Tutorial Photoshop 10/19/2009

    Ese código existe en tropecientas Webs, si las tengo que citar todas no acabaría nunca.

    Lo he hecho a modo de resumen, no es un copy paste y por lo tanto no tengo porque citar a nadie.

  • Persianas Barcelona 03/15/2016

    Buen post la verdad que muy fácil. gracias

Deja un comentario

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.