PRÁCTICA Nº 07 BASE DE DATOS 1. Implemente una página Web para hacer el mantenimiento (Añadir, Modificar, Consultar, y Eliminar registros) de una tabla Clientes. Los campos de la tabla cliente son los siguientes Nombre Tipo Longitud Descripción clicod Char 6 Código del cliente clinom Char 30 Nombres del cliente cliape Char 30 Apellidos del cliente clidir Char 30 Dirección del cliente clitel Char 10 Teléfono del cliente cliemail Char 30 e-mail del cliente Para crear la base de datos que contendrá la tabla clientes, haga lo siguiente: 1. Cargue MySQl, y escriba los siguientes comandos: Create Database Sistema; Use Sistema; Create Table Clientes (clicod CHAR(6) NOT NULL, clinom CHAR(30), cliape CHAR(30), cliape CHAR(30), clidir CHAR(30), clitel CHAR(10), cliemail CHAR(30), PRIMARY KEY (clicod)); Describe Clientes; 2. Codifique el siguiente código para cada página. ARCHIVO PRINCIPAL: FRAMES.PHP <frameset rows="70,*" frameborder="yes" border="5"> <frame src="titulo.php" name="titulo"> <frameset cols="190,*" frameborder="yes" border="5"> <frame src="menu.php" name="menu"> <frameset rows="320,*" frameborder="yes" border="5"> <frame src="form.php" name="form"> <frame src="results.php" name="results"> </frameset> </frameset> </frameset> ARCHIVO : TITULO.PHP Ing. Anibal Flores García 41
<body bgcolor="#000033"> <h1><font color="#ffffcc"> <marquee behavior="alternate" bgcolor="#000033" direction="left">mantenimiento DE CLIENTES</marquee> </font></h1> </body> Archivo : menu.php <body bgcolor="#000033"> <table align="center" border="5"> <form action="form.php" target="form" method="post" name="m"> <tr align="center" bgcolor="#999999" > <td>opciones </td> <tr align="center"> <td><select name="op"> <option value="1">agregar <option value="2">modificar <option value="3">consultar <option value="4">eliminar </select> </td> <tr align="center" bgcolor="#999999"> <td> Código del cliente <br> <input type="text" name="codigo"> <input type="submit" name="submit" value="buscar"> </td> </form> </table> </body> ARCHIVO: FORM.PHP <!--FORMULARIO PARA EL MANTENIMIENTO DE UNA TABLA CLIENTES-- > include("lib.php"); $r=$_post["codigo"]; $o=$_post["op"]; busca($r,$o); switch($o) case 1: <p align="center"><strong><font size="4">añadir UN NUEVO REGISTRO</font></strong></p> Ing. Anibal Flores García 42
$msg="grabar Nuevo Registro"; case 2: <p align="center"><strong><font size="4">modificar UN REGISTRO</font></strong></p> $msg="grabar cambios"; case 3: <p align="center"><strong><font size="4">consultar UN REGISTRO</font></strong></p> $msg="procesar consulta"; case 4: <p align="center"><strong><font size="4">eliminar UN NUEVO REGISTRO</font></strong></p> $msg="eliminar registro"; <table width="50%" border="10" align="center"> <form action="results.php" method="post" target="results" name="cliente"> <td width="52%" align="right"><font face="arial, Helvetica, sansserif"><strong>código</strong></font></td> <td width="48%"><input name="cod" type="text" size="6" value=" echo $co; "></td> <td align="right"><font face="arial, Helvetica, sansserif"><strong>nombres</strong></font></td> <td><input name="nom" type="text" size="30" value=" echo $no; "></td> <td align="right"><font face="arial, Helvetica, sansserif"><strong>apellidos</strong></font></td> <td><input name="ape" type="text" size="30" value=" echo $ap; "></td> <td align="right"><font face="arial, Helvetica, sansserif"><strong>dirección</strong></font></td> <td><input name="dir" type="text" size="30" value=" echo $di;"></td> Ing. Anibal Flores García 43
<td align="right"><font face="arial, Helvetica, sans-serif"><strong>teléfono </strong></font></td> <td><input name="tel" type="text" size="10"value=" echo $te; "></td> <tr align="right"> <td align="right"><font face="arial, Helvetica, sans-serif"><strong>e-mail </strong></font></td> <td align="left"><input name="ema" type="text" size="30" value=" echo $em; "></td> <tr align="center"> <td colspan="2"> <input type="reset" name="reset" value="nuevo"> <input type="submit" name="submit" value=" echo $msg;"></td> <tr align=center bgcolor="#000033"> <td colspan="2"><font color="#ff0000"> <td> </form> </table> echo $ac; ARCHIVO: RESULTS.PHP </font> <!--///////////////////////////////////////////////////////////////--> $myconn = mysql_connect("localhost","anibal","anibal"); if (!$myconn) echo "Error al intentar conectarse con el servidor MySQL"; //conectamos con la base de datos deseada if (!mysql_select_db("sistema",$myconn)) echo "No se pudo conectar correctamente con la Base de datos"; //Asignamos los valores de los campos a variables $cod1=$_post["cod"]; $nom1=$_post["nom"]; $ape1=$_post["ape"]; $dir1=$_post["dir"]; $tel1=$_post["tel"]; $ema1=$_post["ema"]; ///Si se está realizando una búsqueda $sub=$_post["submit"]; //GRABANDO UN NUEVO REGISTRO Ing. Anibal Flores García 44
if (trim($sub)=="grabar Nuevo Registro") $sql= "INSERT INTO clientes VALUES('".$cod1."','".$nom1."','".$ape1."','".$dir1."','".$tel1."','".$ema1."')"; mysql_query($sql); if (trim($sub)=="grabar cambios") $sql= "UPDATE clientes SET clinom='$nom1', cliape='$ape1',clidir='$dir1', clitel='$tel1',cliemail='$ema1' WHERE clicod='$cod1'"; mysql_query($sql); if (trim($sub)=="eliminar registro") $sql= "DELETE FROM clientes WHERE clicod='$cod1'"; mysql_query($sql); ///////////////////////////////////////////// //MOSTRANDO LISTADO DE CLIENTES ///////////////////////////////////////////// $sql = "SELECT * FROM clientes ORDER BY clicod"; $result = mysql_query($sql); //Verificamos si la consulta tiene errores if (!$result) echo "La consulta SQL contiene errores"; //Bucle WHILE para mostrar los resultados... <table border="3" align="center"> <tr align="center"> color="#ffffff"><strong>código</strong></font></td> color="#ffffff"><strong>nombres</strong></font></td> color="#ffffff"><strong>apellidos</strong></font></td> color="#ffffff"><strong>dirección</strong></font></td> color="#ffffff"><strong>teléfono</strong></font></td> color="#ffffff"><strong>email</strong></font></td> Ing. Anibal Flores García 45
while ($r = mysql_fetch_array($result)) <td align="center"> echo $r["clicod"];</td> <td> echo $r["clinom"];</td> <td> echo $r["cliape"]; </td> <td> echo $r["clidir"];</td> <td> echo $r["clitel"];</td> <td> echo $r["cliemail"]; </td> mysql_close($myconn); ARCHIVO: LIB.PHP function busca($c,$a) global $co,$no,$ap,$di,$te,$em,$ac; $ac=""; $myconn = mysql_connect("localhost","anibal","anibal"); if (!$myconn) echo "Error al intentar conectarse con el servidor MySQL"; //conectamos con la base de datos deseada if (!mysql_select_db("sistema",$myconn)) echo "No se pudo conectar correctamente con la Base de datos"; $sql= "SELECT * FROM clientes WHERE clicod='".trim($c)."'"; $res=mysql_query($sql); $c=0; while ($r=mysql_fetch_array($res)) $c++; $co=$r["clicod"]; $no=$r["clinom"]; $ap=$r["cliape"]; $di=$r["clidir"]; $te=$r["clitel"]; $em=$r["cliemail"]; if ($c==0 AND trim($a)<>"1") Ing. Anibal Flores García 46
$ac="código NO EXISTE"; if ($c==0 && trim($a)=="1") $ac="código CORRECTO"; if ($c>0 && trim($a)=="1") $ac="código YA EXISTE"; if ($c>0 && trim($a)<>"1") $ac="código CORRECTO"; Vista Ejecución Manteniendo de Clientes Ing. Anibal Flores García 47