100% encontró este documento útil (1 voto)
319 vistas6 páginas

Buscador Avanzado Con PHP y MySQL

Este documento describe como crear un buscador utilizando el lenguaje de programación PHP. Es una guía paso a paso que incluye los ejemplos de código.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
319 vistas6 páginas

Buscador Avanzado Con PHP y MySQL

Este documento describe como crear un buscador utilizando el lenguaje de programación PHP. Es una guía paso a paso que incluye los ejemplos de código.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

Buscador avanzado con PHP y

MySQL: Múltiples palabras


Buscador avanzado con PHP y MySQL. En este articulo veremos la
implementación de un sistema de búsqueda avanzada escrito en el lenguaje
PHP y con el gestor de base de datos MySQL.
La búsqueda con múltiples palabras suele ser complicado para cualquier
programador. Sin embargo, en este artículo lo haremos de una manera muy
sencilla.

¿Qué recursos usaran en este sistema?


 a) Lenguaje PHP
 b) Lenguaje HTML5
 c) Librería BootStrap
 d) Base de datos MySQL
¿Qué va a mostrar este artículo?
Mostraremos las técnicas para implementar el motor de búsqueda de palabras
clave múltiples en nuestras páginas PHP. Por lo tanto, nuestro objetivo está en
buscar una o más palabras clave o incluso frases completas o texto largo
especificados por un usuario en el cuadro de texto de búsqueda.
El texto introducido por usuario se buscará en el campo (lenguaje y
descripcion) de la tabla MySql con nombre CURSOS y se mostrará el
resultado que contenga todas las filas que coincidan con una o más
palabras clave.
PASOS PARA INTEGRAR EL
BUSCADOR AVANZADO PHP MYSQL
1. Instalación de la base de datos y la tabla
Para que funcione nuestro buscador se requiere una tabla MySql para poder
realizar búsquedas. Por lo tanto, en este ejemplo he creado una tabla muy
simple llamada ' CURSOS' con dos campos llamado ' lenguaje' y 'descripcion'.

CREATE TABLE `cursos` (

`id` int(11) NOT NULL,

`lenguaje` varchar(50) NOT NULL,

`descripcion` text NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Tabla cursos'


ROW_FORMAT=COMPACT;
INSERT INTO `cursos` (`id`, `lenguaje`, `descripcion`) VALUES

(1, 'PHP', 'Aprende como crear una aplicación web completa con PHP.'),

(2, 'OOP', 'Con esta nueva version usted podra gozar de la velocidad con el docente Luis
Muñoz'),

(3, 'PHP7', 'A cargo de Doc. Mario Muñoz. PHP es muy intuitivo y muy facil de aprender.'),

(4, 'MYSQL', 'MySQL es muy importante para gestionar su informacion. Aprende de manera
muy facil.'),

(5, 'Java', 'La mayoria de programadores crea sus aplicaciones en este robusto lenguaje PHP.');

ALTER TABLE `cursos`

ADD PRIMARY KEY (`id`);

ALTER TABLE `cursos` ADD FULLTEXT KEY `Buscar` (`lenguaje`,`descripcion`);

ALTER TABLE `cursos`

MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

Recordemos que debemos de agregar registros a nuestra tabla. Sin embargo,


para que el ejercicio sea más dinámico les brindare una tabla con sus
respectivos registros.

2. Creación de un formulario HTML5


Nuestro siguiente punto es crear un formulario HTML. En el cual,
agregamos una etiqueta, un cuadro de texto (Tipo Input), y un botón
para realizar la búsqueda.
Este formulario HTML será vital y permitirá al usuario digitar una o más
palabras clave en el cuadro de texto para su posterior procesamiento. El
formulario tendrá una apariencia similar a:
La etiqueta formulario tiene dos atributos: ' action ' y ' method '. En el atributo
' action ' se ha especificado el nombre del fichero donde se mostrará los
resultados
El atributo 'method' será el encargado de recoger la información mediante
el método POST.
El atributo name del cuadro de texto. Este nombre se usará para extraer
valores de cuadro de texto en código PHP.

3. Conexión con la base de datos MySql


El siguiente código es para conectarse a MySql Server. Por lo tanto, lo
llamaremos 'conexion.php'.
Este fichero es de vital importancia para nuestro motor de búsqueda y se
tendrá que configurar de acuerdo a nuestras credenciales de acceso de tu
servidor.

<?php

$servidor= "localhost";

$usuario= "root";

$password = "";

$nombreBD= "php_buscador";

$db = new mysqli($servidor, $usuario, $password, $nombreBD);

if ($db->connect_error) {

die("la conexión ha fallado: " . $db->connect_error);

if (!$db->set_charset("utf8")) {
printf("Error al cargar el conjunto de caracteres utf8: %s\n", $db->error);

exit();

} else {

printf("Conjunto de caracteres actual: %s\n", $db->character_set_name());

?>

4. Construyendo la lógica del buscador


avanzado
En el cuarto paso después de crear la interfaz de usuario (UI)(formulario) y
especificar la configuración de conexión con el servidor MySql. La lógica
PHP que implementaremos será el siguiente:

$aKeyword = explode(" ", $_POST['PalabraClave']);

$query ="SELECT * FROM cursos WHERE lenguaje like '%" . $aKeyword[0] . "%' OR
descripcion like '%" . $aKeyword[0] . "%'";

for($i = 1; $i < count($aKeyword); $i++) {

if(!empty($aKeyword[$i])) {

$query .= " OR descripcion like '%" . $aKeyword[$i] . "%'";

La lógica que usaremos no es tan complicada. Primero tenemos que


comprobar si el formulario envía la información de manera correcta.

Activar fecha actual PHP: Paises de America

La palabra clave será almacenada en una variable llamada '$aKeyword'. Sin


embargo, usaremos la función explode() para almacenarlo como un
arreglo. Lo que conseguiremos separar palabra por palabra.
Ahora una vez que tenemos las palabras separadas lo llevamos al ciclo
FOR para realizar búsquedas anidadas.
Nota: Si el sistema no encuentra resultados mostrara el siguiente
mensaje.
5. Mostrar el resultado de la búsqueda
El resultado se muestra como tabla HTML5. Está compuesta por tres campos,
Numero de resultado, lenguaje, descripción.

La siguiente imagen muestra la búsqueda con palabras clave ' Robusto',


'lenguaje’, 'PHP '

6. Conclusión del articulo


Como han podido apreciar, su implementación es realmente sencilla y
podemos aplicarlo en diferentes sectores como ser:

 Buscar más de un valor en el campo base de datos.


 Para buscar una frase larga en la base de datos y/o tabla.
 Implementar el cuadro de texto sugerencia automática.
 En artículos largos con bastantes palabras.

También podría gustarte