PHP
PHP

Bienvenidos de nuevo a otro tutorial sobre php orientado a objetos, un buscador es algo prácticamente obligatorio para cualquier página web, por ese motivo en esta entrega vamos a crear un buscador con php orientado a objetos que después cada uno podrá implementar en su sitio aplicándole mejoras y configurándolo para su base de datos, no hace falta decir que lo que haremos será para gente que se este iniciando en la programación con php y en especial enfocado a la progamación orientada a objetos, sin más hablar vamos a ello.

Como siempre que empezamos cualquier tutorial, lo primero que debemos hacer es la base de datos, la podemos con varios programas, uno es MYSQL-Front, aunque recomiendo por su sencillez hacerlo desde phpmyadmin, al final del post os adjunto todos los archivos incluída la base de datos, vamos a ello.

La base de datos

Vamos al phpmyadmin en nuestro caso y pulsamos en sql, una vez allí creamos la base de datos, que para este caso llamaremos el_blog.

Seguidamente creamos la tabla de posts que nos servirá para realizar búsquedas y comprobar que funciona todo bien.

Con esto ya tenemos la base de datos con una tabla, sólo nos faltaría ponerle algún registro, os pongo un par aunque en los archivos que adjunto la base de datos ya los lleva.

Creamos nuestro proyecto

Como siempre, nos vamos a nuestro directorio raíz, en mi caso C:\xampp\htdocs y creamos una carpeta que llamaremos buscador_php.

El formulario del buscador

Ahora pasamos a crear el formulario de nuestro buscador, creamos un archivo llamado buscador.php y lo guardamos en la carpeta de nuestro proyecto, seguidamente insertamos el siguiente código.

Bueno, aquí tenemos un sencillo formulario que si nos fíjamos se procesa con otro archivo llamado resultados.php y se hace vía get, lo que significa que se pasan los valores mediante la url, le colocamos un par de estilos para darle un poco de alegría, el campo de texto le damos como nombre s, que es típico en los buscadores, y con esto ya tenemos el formulario, ahora seguimos con el archivo que procesará nuestro buscador.

El archivo resultados.php

En nuestro directorio creamos un nuevo archivo llamado resultado.php que será al que le lleguen los datos que coloquemos en el textbox del buscador y hará el proceso para mostrarlo en pantalla, este es el código.

Primero hacemos una llamada al archivo class.php que estará dentro de una carpeta llamada class que ahora pasaremos a crear, dentro de este archivo están las funciones para conectar con nuestra base de datos y para sacar las búsquedas que nostros realicemos a la misma.

El archivo class.php

En nuestro directorio raíz creamos nuestra carpeta de siempre llamada class, creamos un archivo llamado class.php y lo guardamos dentro de esta carpeta, dentro de este archivo irá el siguiente código.

Aquí simplemente creamos la conexión con la base de datos con nuestra clase Conectar, después creamos otra clase llamada Buscador y inicializamos un array que llamaremos busqueda, aquí será donde guardemos los datos que saquemos de la base de datos, fijémonos que utilizamos mysql_real_escape_string y addslashes, esto lo hacemos pare evitar inyecciones de código, seguidamente creamos una función llamada buscar y hacemos la consulta sql y aquí lo que premia es la recursividad, osea, buscar en tantos campos como nos interese sacar información, nostros sólo buscamos información de los campos título y cuerpo, pero podríamos hacerlo de todos los campos si lo necesitáramos.

También he puesto la misma consulta comentada pero con los indices fulltext utilizando match y against en vez de like para los campos cuerpo y titulo, se debería cambiar en la base de datos para que funcione el motor, en vez de innodb debe ser myisam y modificar los campos titulo y cuerpo con la siguiente sentencia.

Después hacemos un while que viene a decir mientras hayan resultados guardamelos en el array llamado busqueda, y devolvemos el resultado a nuestro archivo resultados.php, fijémonos.

Creamos el nuevo objeto de la clase Buscador y lo asignamos a la variable buscame, y un poco más abajo creamos un for para ir mostrando los resultados, lo que quiere decir que para cada resultado muestramelo, lo vemos aquí.

Si el conteo de la variable buscame es 0, nos muestra un mensaje conforme no hay resultados, en otro caso nos los muestra formateado en una tabla, y eso es todo amigos, espero que les sirva para poder coger conceptos y como siempre les dejo los archivos para descargar y les ánimo a dejar sus comentarios, saludos y hasta el próximo tutorial.

Descarga los archivos