Creación de la Base de Datos
Base de Datos : ejemplo
Tabla : agenda
Campos :
nombre varchar(30)
direccion varchar(30)
telefono varchar(10)
email varchar(20)
- Agregar 5 registros
Mostrar los datos de una consulta
<html> <body> <?php $link = mysql_connect("servidor", "usuario", "contraseña"); mysql_select_db("mydb", $link); $result = mysql_query("SELECT nombre, email FROM agenda", $link); if ($row = mysql_fetch_array($result)){ echo "<table border = '1'> \n"; echo "<tr><td>Nombre</td><td>E-Mail</td></tr> \n"; do { echo "<tr><td>".$row["nombre"]."</td><td>".$row["email"]."</td></tr> \n"; } while ($row = mysql_fetch_array($result)); echo "</table> \n"; } else { echo "¡ No se ha encontrado ningún registro !"; } ?> </body> </html>
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".
En primer lugar escribiremos el texto HTML de la página web que nos servirá como formulario de entrada, la llamaremos buscaragenda.html.
Formulario entrada
<html> <body><center><h1>Buscar en Agenda</h1></center><br><form method="POST" action="buscaragenda.php"> <strong>Palabra clave:</strong><input type="text" name="nombre" size="20"><br><br> <input type="submit" value="Buscar" name="buscar"> </form> </body> </html>El siguiente script de búsqueda lo llamaremos buscaragenda.php, y será el encargado de hacer la búsqueda en la BD, y devolver por pantalla los registros encontrados.Script búsqueda<html> <body><center><h1>Resultado de Busqueda</h1></center><?php$nombre=$_POST['nombre'];if (!isset($nombre)){ echo "Debe especificar una cadena a bucar"; echo "</html></body> \n"; exit; } $link = mysql_connect("servidor", "usuario", "contraseña"); mysql_select_db("mydb", $link); $result = mysql_query("SELECT * FROM agenda WHERE nombre LIKE '%$nombre%' ORDER BY nombre", $link);if ($row = mysql_fetch_array($result)){ echo "<table border = '1' align='center'> \n"; //Mostramos los nombres de las tablas echo "<tr> \n"; while ($field = mysql_fetch_field($result)){ echo "<td>$field->name</td> \n"; } echo "</tr> \n"; do { echo "<tr> \n"; echo "<td>".$row["nombre"]."</td> \n"; echo "<td>".$row["direccion"]."</td> \n"; echo "<td>".$row["telefono"]."</td> \n"; echo "<td><a href='mailto:".$row["email"]."'>".$row["email"]."</a></td> \n"; echo "</tr> \n"; } while ($row = mysql_fetch_array($result)); echo "</table> \n"; } else { echo "¡ No se ha encontrado ningún registro !"; } ?> </body> </html>Lo primero que comprobamos es que el contenido de la variable $buscar que recibimos del la página web buscaragenda.html no es una cadena vacía, y esto lo hacemos con la función isset() que devuelve 'falso' si la variable que recibe está vacía. 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 hubiésemos puesto nombre LIKE '%$buscar', buscariamos cualquier ocurrencia al final del campo"nombre", mientras que si hubiésemos puesto nombre LIKE '$buscar%', buscariamos cualquier ocurrencia al principio del campo "nombre".La última novedad que hemos incorporado, es la función mysql_fetch_field, con el que obtenemos información acerca de las características de cada campo, como su nombre,tipo,longitud,nombre de la tabla que los contiene,etc.