Anda di halaman 1dari 34

MySQL Una base de datos es un conjunto de datos estructurados organizados en forma de registros.

Los registros estn formados por filas y columnas. Una de las bases de datos ms utilizadas en red es MySql, por su seguridad, flexibilidad y rapidez. Y sobre todo porque es de cdigo abierto y gratuito. El cdigo abierto nos permite modificar el cdigo y utilizar la base de datos de la manera ms cmoda que nos resulte trabajar con bases de datos. Adems su uso es muy fcil. Yo no uso el mtodo de lnea de comandos para trabajar con MySql yo voy directamente a cdigo PHP o accedo a travs de la pgina Web, que ahora veremos. Esta manera es mucho ms sencilla, te ahorra tiempo y es la que ms se est empleando. Si alguno desea ampliar sus conocimientos de MySql me puede enviar un mail y le har llegar unos manuales gratuitos sobre el uso de MySql, adems estos manuales tambin estn disponibles en Internet, como el blog es un enfoque prctico a PHP y MySql no me quiero entretener en temas que ya viene explicado en muchos manuales y tutoriales que rondan por la red. Si en nuestro navegador en la barra de direccin tecleamos localhost nos aparece la siguiente pantalla:

para acceder a la base de datos MySql pinchamos sobre phpMyAdmin

Y nos muestra la siguiente pantalla:

Aqu tendremos la posibilidad de crear nuestras bases de datos; aadir, modificar y eliminar registros; almacenar las bases de datos creadas, etc. Aunque normalmente estas funciones se realizan sobre cdigo PHP. Pero vamos a familiarizarnos con este panel para saber de qu va, verlo un poco por encima. Vamos a crear una base de datos llamada curso y le damos al botn crear:

y nos aparece la siguiente ventana:

Aqu le indicamos la tabla que va a contener la base de datos curso, en este caso la tabla se llama clase y va a contener 6 campos que van a ser los siguientes:

id tinyint(3) unsigned NOT NULL auto_increment, nombre varchar(30) DEFAULT '0' , apellidos varchar(30) DEFAULT '0' direccion varchar(30) DEFAULT '0' , telefono varchar(30) DEFAULT '0' , email varchar(30) DEFAULT '0' , PRIMARY KEY (id)

Introducimos los datos en los correspondientes campos:

Con la barra de desplazamiento bajamos al final de la pgina y vemos dos botones Grabar y Siguiente. Hacemos clic en Grabar y nos aparecer la siguiente pantalla:

Ah tenemos nuestra primera base de datos creada. Ahora vamos a pasar ya al cdigo PHP, lo primero que vamos a ver es como conectarse a la base de datos. Creamos un archivo que le vamos a llamarconecta.php y su cdigo ser el siguiente: <html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php function Conectarse() { if

(!($link=mysql_connect("localhost","amizba","4502q"))) { echo "Error conectando a la base de datos."; exit(); } if (!mysql_select_db("curso",$link)) { echo "Error seleccionando la base de datos."; exit(); } return $link; } Conectarse(); echo "Conexin con la base de datos conseguida.<br>"; ?> </body> </html>

El cdigo lo empezamos con la funcin Conectarse(). Usamos la funcin if en el que la conexin a mysql dar un error si no coincide el nombre de usuario o contrasea u otro motivo: Error conectando a la base de datos. Si la conexin est bien intentar conectarse a la base de datos curso si nos da error aparecer la frase: Error seleccionando la base de datos. Si la conexin esta bien mediante la funcin return accederemos a la variable $linkque nos permitir la conexin con la base de datos y nos informar mediante la frase que hemos introducido dentro del ltimo echo: Conexin con la base de datos conseguida. Este archivo si lo utilizramos en varias pginas Web, el inconveniente que tendra es que tanto si podemos o no conectarnos a la base de datos nos saldr cualquier frase contenida en cualquiera de los echos del cdigo. Para evitar esto, creamos otro archivo de forma que eliminamos todos los echos, y el archivo conecta.php solo se queda para uso del administrador de la base de datos

para comprobar si hubiera algn problema al conectarse a la base de datos. A los usuarios no les debe interesar en absoluto (por asuntos de seguridad en la Web), si se ha conectado a la base de datos o si hay algn tipo de error. Por lo que vamos a crear otro archivo llamado conec.php cuyo cdigo es el siguiente y es el que vamos a incluir en las diferentes pginas Web: <html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php function Conectarse() { if (!($link=mysql_connect("localhost","amizba","4502q"))) { exit(); } if (!mysql_select_db("curso",$link)) { exit(); } return $link; } Conectarse(); ?> </body> </html>

El cdigo es exactamente igual que el anterior pero eliminando todos los echos.

Intentar probar el archivo conecta.php en el navegador para ver si podis conectaros a la base de datos sin ningn problema. Si tenis dificultades me lo podis hacer saber mediante un comentario o un mail.

En esta entrada hemos visto muy por encima una introduccin a la base de datos MySql y la forma de conectarse a una base de datos. En la prxima entrada veremos cmo introducir datos por medio de un formulario de una pgina Web. De momento esto es todo, hasta pronto!

21. Almacenar datos en una base de datos por medio de la Web Hola, ya estoy aqu de nuevo. El artculo de hoy lo voy a dedicar a insertar datos en un formulario de una pgina Web y esos datos se almacenarn en la base de datos MySql. En la entrada anterior creamos un archivo conec.php por medio de este archivo nos conectabamos a la base de datos. Por lo que es un archivo imprescindible para los archivos que vamos a crear ahora. Vamos a crear un formulario donde tengamos que insertar los datos que coinciden con los datos que deben almacenarse en MySql. Si hacemos un poco de memoria, los datos que pusimos en la base de datos eran los siguientes: id tinyint(3) unsigned NOT NULL auto_increment, nombre varchar(30) DEFAULT '0' , apellidos varchar(30) DEFAULT '0' direccion varchar(30) DEFAULT '0' , telefono varchar(30) DEFAULT '0' , email varchar(30) DEFAULT '0' , PRIMARY KEY (id)

Pues bien, vamos a crear un formulario en el que tengamos que insertar estos datos. Creamos el archivo insertdat.php, lo vemos en el navegador:

El cdigo del archivo es el siguiente: <html> <head> <title>Ejemplo de PHP</title> </head> <body> <H1>Insertar datos con bases de datos MySQL</H1> <FORM ACTION="agregdat.php"> <TABLE> <TR> <TD>Nombre:</TD> <TD><INPUT TYPE="text" NAME="nombre" SIZE="20" MAXLENGTH="30"></TD> </TR> <TR> <TD>Apellidos:</TD> <TD><INPUT TYPE="text" NAME="apellidos" SIZE="20" MAXLENGTH="30"></TD>

</TR> <TR> <TD>Direccin:</TD> <TD><INPUT TYPE="text" NAME="direccion" SIZE="20" MAXLENGTH="30"></TD> </TR> <TR> <TD>Telfono:</TD> <TD><INPUT TYPE="text" NAME="telefono" SIZE="20" MAXLENGTH="30"></TD> </TR> <TR> <TD>Email:</TD> <TD><INPUT TYPE="text" NAME="email" SIZE="20" MAXLENGTH="30"></TD> </TR> </TABLE> <INPUT TYPE="submit" NAME="accion" VALUE="Grabar"> </FORM> <hr> <?php include("conec.php"); $link=Conectarse(); $result=mysql_query("select * from clase",$link); ?> <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>

<TR> <TD>&nbsp;Nombre</TD> <TD>&nbsp;Apellidos&nbsp;</TD> <TD>&nbsp;Direccion&nbsp;</TD> <TD>&nbsp;Telefono&nbsp;</TD> <TD>&nbsp;Email&nbsp;</TD> </TR> <?php while($row = mysql_fetch_array($result)) { printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td><td>&nbsp ;%s&nbsp;</td><td>&nbsp;%s&nbsp;</td><td>&nbsp;%s&nbsp;</td></tr>", $row["nombre"],$row["apellidos"],$row["direccion"],$row["telefono "],$row["email"]); } mysql_free_result($result); ?> </table> </body> </html>

Este archivo sirve solo para insertar los datos en el formulario. NO para almacenarlos en la base de datos. Para guardar los datos en MySql crearemos otro archivo llamado agregdat.php cuyo cdigo es el siguiente:

<?php include("conec.php");

$link=Conectarse(); $Sql="insert into clase (nombre,apelldios,direccin,telefono,email) values ('$nombre','$apellidos', '$direccion', '$telefono', '$email')"; mysql_query($Sql,$link); ?>

Hacemos una prueba insertando datos en el formulario:

Hacemos clic sobre el botn Grabar. Ahora abrimos nuestra base de datos en MySql, curso, seleccionamos la tabla clase y vemos que los datos se han almacenado en la tabla curso:

Y si abrimos el fichero insertdat.php en el navegador, podemos comprobar que el dato almacenado aparece en la pgina:

Vamos a insertar dos registros ms.

Nombre: Enrique Apellidos: Doate Direccin: C/ Arriba, 3 Telfono: 600201412 Email: edonate@gmail.com

Nombre: Manuel Apellidos: Ruiz Direccin: C/ Abajo, 2 Telfono: 912541010 Email: mruiz@gmail.com

Actualizamos la pgina insertardat.php y podemos comprobar que los datos se han almacenado:

Aparece dos veces el ltimo registro es porque sin querer he pulsado dos veces el botn grabar.

Vamos a la base de datos para cerciorarnos de que se han guardado los datos:

Con el aspa roja podemos eliminar el registro para que no hayan dos iguales. Ms adelante os explicar como eliminar el registro desde la Web.

Bueno pues ya sabemos una cosa ms de PHP y MySql.

Agradecida por todos los mails que recibo y sobre todo satisfecha porque muchas dudas que tenis las resolvis por medio del blog. El blog es como una comunidad dedicada al lenguaje PHP donde podis participar todos, a la misma vez yo tambin voy haciendo memoria de cosas que tena olvidadas de PHP y aprendiendo, por lo que si veis que hay un error o que hay aplicaciones que se pueden hacer de otra forma me lo hagis saber as lo expongo en el blog y lo comparto con todos vosotros.

En la prxima entrada seguiremos con las bases de datos, nos introduciremos ms en MySql y finalmente haremos una pequea aplicacin para tenerlo todo ms claro. As que en la prxima espero que sigis as de fieles, un saludo!

22. Buscar, modificar y suprimir registros de MySql Hola! Qu tal?

Cuanto tiempo... eh? pero a pesar del tiempo transcurrido aqu estoy fielmente siguiendo el curso, no os voy a dejar en la estacada. Este artculo lo voy a dedicar a buscar, modificar y suprimir registros en MySQL. Recordar que ya tenamos nuestra base de datos creada en MySQL llamadacurso y creamos una tabla llamada clase con una serie de campos... os acordis? Si... espero que s... y si no repasar las dos entradas anteriores.

Bien, teniendo esto claro, vamos al lo... Para eso crearemos tres archivos uno que ser de consulta (consult.php), otro para buscar un registro (busca.php) y el otro para modificarlo (modifica.php). Bien, el primer archivo consult.php tratar sobre un formulario muy bsico para introducir el nombre a buscar. En el navegador tendr una apariencia as:

El cdigo es el siguiente: <html> <head> <title>Buscar y modificar registros en PHP</title> </head> <body> <H1>Consulta de registros</H1> <FORM ACTION="busca.php"> Nombre: <INPUT TYPE="text" NAME="nombre" SIZE="20" MAXLENGTH="30"> <INPUT TYPE="submit" NAME="accion" VALUE="Buscar"> </FORM> </body> </html> Como veis es un formulario sencillo. Lo importante es lo que hay dentro deaction que lo he resaltado en negrita que es el archivo busca.php, en el momento que hagamos clic al

botn Buscar nos redireccionar a esta pgina a busca.php Vamos ahora a crear el archivo busca.php cuyo cdigo es el siguiente: <html> <body> <?php include("conec.php"); $link=Conectarse(); $Sql="select * from clase where nombre like '%$nombre%'"; $result=mysql_query($Sql,$link); ?> <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1> <TR> <TD>&nbsp;Nombre</TD> <TD>&nbsp;Apellidos&nbsp;</TD> <TD>&nbsp;Direccion&nbsp;</TD> <TD>&nbsp;Telefono&nbsp;</TD> <TD>&nbsp;Email&nbsp;</TD> </TR> <form name="form1" method="post" action="modifica.php"> <?php while($row = mysql_fetch_array($result)) { printf("<tr><td><INPUT TYPE='text' NAME='nombre' SIZE='20' MAXLENGTH='30' value='%s'></td><td>&nbsp;<INPUT TYPE='text' NAME='apellidos' SIZE='20' MAXLENGTH='30' value='%s'>&nbsp;</td><td>&nbsp;<INPUT TYPE='text'

NAME='direccion' SIZE='20' MAXLENGTH='30' value='%s'>&nbsp;</td><td>&nbsp;<INPUT TYPE='text' NAME='telefono' SIZE='20' MAXLENGTH='30' value='%s'>&nbsp;</td><td>&nbsp;<INPUT TYPE='text' NAME='email' SIZE='20' MAXLENGTH='30' value='%s'>&nbsp;</td></tr>", $row["nombre"],$row["apellidos"],$row["direccion"],$row["telefono "],$row["email"]); } mysql_free_result($result); ?> </form> </body> </html> En este archivo ya conectamos con la tabla clase para que haga un rastreo para buscar el nombre que le hemos indicado. Si coincide con alguno que tenemos en la base de datos nos aparecer los datos completos, es decir, nos aparecer el nombre, apellidos, direccin, etc. Fijaros que he hecho un include al archivo conec.php creado en la entrada anterior y es para conectar a la base de datos, es por comodidad y para no estar escribiendo todo el rato lo mismo, es para simplificar. Y por ltimo creamos el archivo modifica.php para modificar los registros: <?php include("conec.php"); $link=Conectarse(); $Sql="UPDATE clase SET nombre='$nombre', apellidos='$apellidos', direccion='$direccion', telefono='$telefono' email='$email' WHERE nombre='$nombre'";

mysql_query($Sql,$link); ?> Con estos tres archivos creados ya podemos hacer un pequeo ejemplo. Abrimos la pgina consult.php e introducimos un nombre y le damos clic al botn Enviar

Y seguidamente nos redirecciona a la pgina busca.php:

En este caso como el nombre que buscamos coincide con un registro que tenemos almacenado en la base de datos aparecer en pantalla. Aqu podemos modificar el nombre de Ana por Sofiapara modificar el nombre, me falta el botn Enviar, que no lo he puesto para que lo hagis vosotros y discurris un poco, si tenis dudas me enviis un comentario o un mail. select.php) y otro para borrar el registro (supr.php). Vamos a ello. Creamos el archivo select.php

El cdigo de este archivo: <html> <head> <title>Borrar registros en PHP</title> </head> <body> <H1>Borrar registros de la de base de datos MySQL</H1> <?php include("conec.php"); $link=Conectarse(); $result=mysql_query("select * from clase",$link); ?> <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1> <TR> <TD>&nbsp;Nombre</TD> <TD>&nbsp;Apellidos&nbsp;</TD> <TD>&nbsp;Direccion&nbsp;</TD> <TD>&nbsp;Telefono&nbsp;</TD> <TD>&nbsp;Email&nbsp;</TD> <TD>&nbsp;Borra&nbsp;</TD> </TR> <?php

while($row = mysql_fetch_array($result)) { printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td><td>&nbsp ;%s&nbsp;</td><td>&nbsp;%s&nbsp;</td><td>&nbsp;%s&nbsp;</td> <td><a href=\"supr.php?id=%d\">Borra</a></td></tr>", $row["nombre"],$row["apellidos"],$row["direccion"],$row["telefono "],$row["email"],$row["ID"]); } mysql_free_result($result); ?> </table> </body> </html> Hacemos clic en Borra del registro de Enrique, y comprobamos en la base de datos MySQL que no aparece ese registro:

Buenos pues ya hemos visto una introduccin a las bases de datos de MySQL. Si queris tener un conocimiento ms amplio me enviis un mail y os enviare tutoriales acerca de las bases de datos en MySQL. No quiero entretenerme mucho en esto puesto que el blog lo quiero dedicar expresamente a PHP y todava nos quedan muchas cosas por ver. De momento, podis ir practicando vosotros con lo que hemos visto de MySQL. En la prxima entrada veremos como autentificarse en la red. Hasta pronto!

Anda mungkin juga menyukai