Inicio / Wikis / Tutoriales / Tutorial de PHP y MySQL - Un buscador para nuestra base de datos

Tutorial de PHP y MySQL - Un buscador para nuestra base de datos

(16 opiniones)
Tutorial creado por José Antonio Rodríguez. Extraido de: http://es.tldp.org/Manuales-LuCAS/manual_PHP/manual_PHP/
02 de Marzo de 2006
MySQL

21 - Un buscador para nuestra base de datos

Vamos a ver una aplicación, un ejemplo, de todo lo visto hasta ahora. Escribiremos un script que sirva para buscar una determinada cadena (que recibiremos de un formulario, y la almacenamos en la variable $buscar), dentro de nuestra base de datos, concretamente dentro del campo "nombre".

campo "nombre".

En primer lugar escribiremos el texto HTML de la página web que nos servirá como formulario de entrada, la llamaremos formulario.htm.

Formulario entrada

<html>

<body>

<form method = "POST" action = "http://mysevidor/php/buscador.php3">;

<strong>Palabra clave:</strong>

<input type="text" name="buscar" size="20"><br><br>

<input type="submit" value="Buscar">

</form>

</body>

</html>

El siguiente script de busqueda lo llamaremos buscador.php3, y será el encargado de hacer la búsqueda en la BD, y devolver por pantalla los registros encontrados.

Script búsqueda

<html>

<body>

<?php

if (!isset($buscar)){

echo "Debe especificar una cadena a buscar";

echo &quo

echo "<p>Debe especificar una cadena a buscar</p> \n";
echo "<p><a href=buscador_bd.htm>Volver</p> \n";

echo "</html></body> \n";

exit;

}

$link = mysql_connect("localhost", "nobody");

mysql_select_db("mydb", $link);

$sql = "SELECT * FROM agenda WHERE nombre LIKE '%$buscar%' ORDER BY nombre";

$result = mysql_query($sql, $link);

if ($row = mysql_fetch_array($result)){

echo "<table border = '1'> \n";

Mostramos los nombres de las tablas

echo "<tr> \ndigo" style="margin-left: 50">echo "<tr> \n";

mysql_field_seek($result,0);

while ($field = mysql_fetch_field($result)){

echo "<td><b>$field->name</b></td> \n";

}

echo "</tr> \n";

do {

echo "<tr> \n";

echo "<td>".$row["id"]."</td> \n";

echo "<td>".$row["nombre"]."</td> \n";

echo "<td>".$row["direccion"]."</td> \n";

echo "<td>".$row["telefono"]."</td> \n";

echo "<td><a

href='mailto:"

href='mailto:".$row["email"]."'>".

$row["email"]."</a></td> \n";

echo "</tr> \n";

} while ($row = mysql_fetch_array($result));

echo "<p><a href=buscador_bd.htm>Volver</p> \n";

echo "</table> \n";

} else {

echo "<p>¡No se ha encontrado ningún registro!</p>\n";

echo "<p><a href=buscador_bd.htm>Volver</p> \n";

}

?>

</body>

</html>

Lo primero que comprobamos es que el contenido de la variable $buscar que recibimos del la página web formulario.htm no es una cadena vacia, y esto lo hacemos con la función isset() que devuelve 'falso' si la variable que recibe está vacia. A la función le anteponemos el signo admiración (!) que es equivalente a un NOT, para convertirlo en 'verdadero' en caso de que la variable esté vacia, y en es caso terminamos la ejecución del script con exit.

Lo más importante de este script, es sin duda la sentencia SQL que le enviamos al servidor MySQL, y más concretamente la condición que le imponemos, WHERE nombre LIKE '%$buscar%'. Con la sentencia LIKE buscamos cualquier ocurrencia de la cadena contenida en $buscar, mientras que con los signos de porcentaje (%) indicamos el lugar de la coincidencia, por ejemplo, si hubiesemos puesto nombre LIKE '%$buscar', buscariamos cualquier ocurrencia al final del campo"nombre", mientras que si hubiesemos puesto nombre LIKE '$buscar%', buscariamos cualquier ocurrencia al principio del campo "nombre".

Las últimas novedade que hemos incorporado, son las funciónes mysql_fetch_field(), con el que obtenemos información acerca de las caracteríticas de cada campo, como su nombre, tipo, longitud, nombre de la tabla que los contiene, etc. Pero para ejecutar la función anterior debemos colocar el puntero en el primer campo, y eso lo logramos con la función mysql_field_seek(), la cál mueve el puntero interno a la posición indicada.
Valora este capítulo: (16 opiniones)
Autor y licencia de 'Tutorial de PHP y MySQL - Un buscador para nuestra base de datos'
José Antonio Rodríguez Extraído de: http://es.tldp.org/Manuales-LuCAS/manual_PHP/manual_PHP/ GNU Free Documentation License
Licencia GNU Free Documentation License: http://www.es.gnu.org/licencias/fdles.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Opiniona sobre 'Tutorial de PHP y MySQL - Un buscador para nuestra base de datos' (16)

Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.

Opina sobre este tutorial



* Valoración:
* Nombre:
* Correo electrónico:
* Título:
* Comentario:

Wikis relacionados con 'Tutorial de PHP y MySQL - Un buscador para nuestra base de datos'

Aquí dejo una clase que hice hace tiempo para tratar bases de datos MYSQL.
PHP se ha convertido en el lenguaje de facto de Internet y no es difícil... Más »
Su principal objetivo de diseño fue la velocidad, por ello se suprimieron algunas características de... Más »
PHP es uno de los lenguajes de lado servidor más extendidos en la web. Nacido... Más »
Si nunca se te ha pasado por la imaginación que podrías llegar a programar, con... Más »
¿Estás seguro de que deseas eliminar este capítulo?