You are on page 1of 6

Grupo de Usuarios de Software Libre www.somoslibres.

org

Programacin Web
echo "<TABLE border=4 bordercolor=#800000 bordercolorlight=#800080 cellpadding=4 bgcolor=#FFFFFF>"; echo"<TR><TD><B>Nro. Reg.</B><TD><B>ID</B><TD><B>Nombre</B><TD>< B>Apellido</B><TD><B>Nick</B><TD><B>Salario</TR >"; while ($myrow = mysql_fetch_array($result)) { echo "<TR><TD>"; echo "<b>$totalderegistros</b>"; echo "<TD>"; echo $myrow["id"]; echo "<TD> "; echo $myrow["nombre"]; echo " <TD> "; echo $myrow["apellido"]; echo " <TD>"; echo $myrow["nick"]; echo " <TD>"; echo $myrow["salario"]; $salariototal=$salariototal+$myrow["salario"]; ++$totalderegistros; } echo "</TABLE>"; echo "<h4>Total salario es: $salariototal</h4> "; echo "<h4>Total de registros: $totalderegistros </h4>"; ?> </HTML>

Laboratorio Taller Nro. 5 Aplicaciones MySql y PHP


TEMA: Desarrollo de Aplicaciones metodologas procedimental (Ver.1.1.1)
I.Prototipo de Planillas (Base de Datos) Utilizando Mysql-Front, crear la Base de Datos de nombre PLANILLAS y luego crear la tabla de nombre PERSONAL.

Tabla Nro.1 A continuacin registros: Adicione los siguientes

Tabla Nro.2 II. Prototipo de Planillas (Scripts PHP) a) Modulo de Vistas A continuacin detallaremos el Script para el modulo de vistas, que no mas que un reporte o informe del total a pagar a los trabajadores (vistas.php), debe mostrarse como la fig. 1
<HTML> <?php $salariototal=0; $totalderegistros=0; $db = mysql_connect("localhost", "root", ""); mysql_select_db("planillas",$db); $result = mysql_query("SELECT * FROM personal",$db); echo "<center>"; echo "<h3>Vista de la Tabla</h3> ";

fig. 1 Vistas de la Consulta

b) Integracin de los Mdulos (Vista Detallada, Eliminacin de Registro y Modificacin de Registro) Para poder desarrollar este modulo integral es necesario realizar primero el cdigo de presentacin (Fig. 2), para luego por separado realizar los tres sub mdulos siguientes. b.1) Modulo Prototipo Sistema de Planillas Este modulo, es el resultado de una consulta a todos los registros de la Tabla Personal pero, muestra tres de las funciones funciones bsicas del mantenimiento de una

MsC. Daniel Alejandro Yucra Sotomayor

daniel@somoslibres.org

Pag. - 1 -

Grupo de Usuarios de Software Libre www.somoslibres.org tabla (sisplanillas.php), debe como la fig. 2. mostrarse

Programacin Web b.2) Sub Modulo Vista Especfica Este Sub Modulo, solo presenta al registro con su respectiva informacin en forma detallada (view.php), debe mostrarse como la fig. 3, por fines de presentacin gran parte del cdigo son etiquetas HTML, generadas en FronPage.
<HTML> <?php $db = mysql_connect("localhost", "root", ""); mysql_select_db("planillas",$db); $result = mysql_query("SELECT * FROM personal WHERE id=$id",$db); $myrow = mysql_fetch_array($result); ?> <center> <table border="2" bordercolor="#000080" cellspacing="3" cellpadding="2" bordercolorlight="#800080"> <tr> <td><h3>Ficha del Personal del Trabajador con Cdigo: ID</h3> </td> <td><?echo "<h1>" .$myrow["id"] . "</h1>" ?> </td> </tr> </table> </center></div><div align="center"><center> <table border="4" bordercolor="#800000" bordercolorlight="#800080" cellpadding="4" bgcolor="#FFFFFF"> <tr> <td><strong><big>Informacin del Trabajador</big></strong></td> <td> </td> </tr> <tr> <td align="right">Nombre:</td> <td><?echo " ".$myrow["nombre"] ?></td> </tr> <tr> <td align="right">Apellido:</td> <td><?echo " ".$myrow["apellido"] ?></td> </tr> <tr> <td align="right">Sobrenombre:</td> <td><?echo " ".$myrow["nick"] ?></td> </tr> <tr> <td align="right">Correo Electrnico</td> <td><?echo " ".$myrow["email"] ?></td> </tr> <tr> <td>Monto Mensual a Cobrar:</td> <td><?echo "S./ ".$myrow["salario"] ?></td> </tr> </table> <?echo "<br>Fecha de Consulta: ".Date("d/m/Y")."<br>";?> </center></div> </center> </HTML>

<HTML> <?php $totalderegistros=0; $db = mysql_connect("localhost", "root", ""); mysql_select_db("planillas",$db); $result = mysql_query("SELECT * FROM personal order by nombre",$db); echo "<h3> Mantenimiento del Prototipo de Planillas </h3>"; echo "<TABLE border=4 bordercolor=#800000 bordercolorlight=#800080 cellpadding=4 bgcolor=#FFFFFF>"; echo"<TR><TD><b>Reg. <B><td> ID <TD>Nombre y<B> Apellido</B><TD><B>Vista</B><TD><B>Elimina</B></ TR><TD><B>Modifica</B></TR>"; while ($myrow = mysql_fetch_array($result)) { echo "<TR><TD>"; echo "<b>$totalderegistros<TD></b>"; echo $myrow["id"]; echo "<td>"; echo $myrow["nombre"]; echo " "; echo $myrow["apellido"]; echo "<TD><a href=\"view.php?id=".$myrow[id]."\">Vista Detalle</a> "; echo "<TD><a href=\"delete.php?id=".$myrow[id]."\">Elimina Registro</a>"; echo "<TD><a href=\"modifica.php?id=".$myrow[id]."\">Actualiza Registro</a>"; ++$totalderegistros; } echo "</TABLE>"; echo "<form method=\"POST\" action=\"motor.php\">"; echo "<input type=submit value=\"Motor de Busqueda\" name=motor>"; echo "</form>"; echo "<form method=\"POST\" action=\"Modifica.php\">"; echo "<input type=submit value=\"Adicionar Nuevos registros\" name=adicionar>"; echo "</form>"; ?> </HTML>

Fig.2 Vista de la Presentacin del Mantenimiento de la BD

MsC. Daniel Alejandro Yucra Sotomayor

daniel@somoslibres.org

Pag. - 2 -

Grupo de Usuarios de Software Libre www.somoslibres.org

Programacin Web tiene que integrarse al mdulo principal sisplanillas.php, fig. 4.

Fig.3 Presentacin Especfica del Registro del trabajador

b.3) Sub Modulo Eliminacin Este cdigo permite la eliminacin total del registro (delete.php), este mdulo al igual que view.php, trabaja en forma integral con el mdulo principal sisplanillas.php de nuestro prototipo, es decir este mdulo depende del Modulo Prototipo del Sistema de Planillas.
<HTML> <?php $db = mysql_connect("localhost", "root", ""); mysql_select_db("planillas",$db); mysql_query("DELETE FROM personal WHERE id=$id",$db); echo "Informacin Eliminada"; ?> </HTML>
Fig. 4 Muestra los datos OLD y Datos NEWS

Fig. 5 Formulario para adicionar nuevo registro

b.4) Sub Modificacin y Adicin Para el desarrollo de este sub mdulo, se trabaja en dos partes, uno para modificacin de registros y otro para adicionar nuevos registros, pero todo en un solo scripts. Gran parte del cdigo muestra las etiquetas HTML para hacer la presentacin previa antes de realizar las modificaciones. Las etiquetas HTML de este cdigo, sern utilizadas para el mdulo de adicionar registros, no se confunda se utiliza dos condiciones para ese programa, el primero es cuando se quiere actualizar informacin y la segunda condicin es cuando se quiere actualizar un registro anteriormente ingresado a la BD. Para poder utilizar ese scripts para adicionar, simplemente invoque desde un visualizador Cliente Web, con el nombre de modifica.php. Fig. 5. Si desea utilizar este cdigo para modificar, entonces

<HTML> <?php if($submit) { $db = mysql_connect("localhost", "root",""); mysql_select_db("planillas",$db); $sql = "INSERT INTO personal (nombre, apellido, nick, email, salario) VALUES ('$nombre','$apellido','$nick','$email','$salario')"; $result = mysql_query($sql); echo "Gracias a Ti! Tu informacin fue Ingresada.\n"; } else if($update) { $db = mysql_connect("localhost", "root",""); mysql_select_db("planillas",$db); $sql = "UPDATE personal SET nombre='$nombre',apellido='$apellido',nick='$nick',email ='$email', salario='$salario' WHERE id=$id"; $result = mysql_query($sql); echo "Gracias a ti! La informacin a sido Actualizado.\n"; } else if($id) { $db = mysql_connect("localhost", "root", ""); mysql_select_db("planillas",$db); $result = mysql_query("SELECT * FROM personal WHERE id=$id",$db);

MsC. Daniel Alejandro Yucra Sotomayor

daniel@somoslibres.org

Pag. - 3 -

Grupo de Usuarios de Software Libre www.somoslibres.org


$myrow = mysql_fetch_array($result); ?> <form method="post" action="<?php echo $PHP_SELF?>"> <input type="hidden" name="id" value="<?php echo $myrow["id"]?>"> <center> <table border="2" bordercolor="#000080" cellspacing="3" cellpadding="2" bordercolorlight="#800080"> <tr> <td><h3>Ficha del Personal del Trabajador con Cdigo: ID</h3> </td> <td><?echo "<h1>" .$myrow["id"] . "</h1>" ?> </td> </tr> </table> </center></div><div align="center"><center> <table border="4" bordercolor="#800000" bordercolorlight="#800080" cellpadding="4" bgcolor="#FFFFFF"> <tr> <td><strong><big>Informacin del Trabajador</big></strong></td> <td><font color="#FF0000"><b>Datos Antiguos</b></font></strong></font> </td> </tr> <tr> <td align="right">Nombre:</td> <td><?echo " ".$myrow["nombre"] ?></td> </tr> <tr> <td align="right">Apellido:</td> <td><?echo " ".$myrow["apellido"] ?></td> </tr> <tr> <td align="right">Sobrenombre:</td> <td><?echo " ".$myrow["nick"] ?></td> </tr> <tr> <td align="right">Correo Electrnico</td> <td><?echo " ".$myrow["email"] ?></td> </tr> <tr> <td>Monto Mensual a Cobrar:</td> <td><?echo "S./ ".$myrow["salario"] ?></td> </tr> </table> <table border="4" bordercolor="#800000" bordercolorlight="#800080" cellpadding="4" bgcolor="#FFFFFF"> <tr> <td><strong><big>Informacin del Trabajador</big></strong></td> <td><font color="#004080"><b>Datos Nuevos</b></font></strong></font> </td> </tr> <tr> <td align="right">Nombre:</td> <td><input type="Text" name="nombre"></td> </tr> <tr> <td align="right">Apellido:</td> <td><input type="Text" name="apellido" value="<?php echo $myrow["apellido"]?>"></td> </tr> <tr>

Programacin Web
<td align="right">Sobrenombre:</td> <td><input type="Text" name="nick" value="<?php echo $myrow["nick"]?>"></td> </tr> <tr> <td align="right">Correo Electrnico</td> <td><input type="Text" name="email" value="<?php echo $myrow["email"]?>"></td> </tr> <tr> <td>Monto Mensual a Cobrar:</td> <td><input type="Text" name="salario" value="<?php echo $myrow["salario"]?>"></td> </tr> </table> <input type="Submit" name="update" value="Actualizar Informacin"></form> <? } else { ?> <center> <form method="post" action="<?php echo $PHP_SELF?>"> <table border="4" bordercolor="#800000" bordercolorlight="#800080" cellpadding="4" bgcolor="#FFFFFF"> <strong><big>Ficha Nueva para un Nuevo Trabajador</big></strong> <tr> <td><strong><big>Informacin del Trabajador</big></strong></td> <td><font color="#004080"><b>Datos Nuevos</b></font></strong></font> </td> </tr> <tr> <td align="right">Nombre:</td> <td><input type="Text" name="nombre"></td> </tr> <tr> <td align="right">Apellido:</td> <td><input type="Text" name="apellido"></td> </tr> <tr> <td align="right">Sobrenombre:</td> <td><input type="Text" name="nick"></td> </tr> <tr> <td align="right">Correo Electrnico</td> <td><input type="Text" name="email"></td> </tr> <tr> <td>Monto Mensual a Cobrar:</td> <td><input type="Text" name="salario"></td> </tr> </table> <center> <input type="Submit" name="submit" value="Ingrese Informacin"></form> <? } ?> </HTML>

MsC. Daniel Alejandro Yucra Sotomayor

daniel@somoslibres.org

Pag. - 4 -

Grupo de Usuarios de Software Libre www.somoslibres.org c) Motor de Bsqueda Para completar este prototipo, vamos a implementar un motor de bsqueda pequeo en cdigo, pero muy poderoso como GOOGLE en su bsqueda. Como se muestra la figura 6.

Programacin Web
$sql="SELECT * FROM personal WHERE $searchtype LIKE '%$searchstring%' ORDER BY nombre ASC"; $db = mysql_connect("localhost", "root", ""); mysql_select_db("planillas",$db); $result = mysql_query($sql,$db); $contador=0; echo "<center>"; echo "<h4>La Busqueda para el texto ' $searchstring ' </h4>"; echo "<TABLE border=2 bordercolor=#000080 cellspacing=3 cellpadding=2 bordercolorlight=#800080>"; echo"<TR><TD>Nro.<TD><B>ID</B><td><B>Nombre</ B><TD><B>Apellido</B><TD><B>Detalle</B></TR>"; while ($myrow = mysql_fetch_array($result)) { ++$contador; echo "<TR>"; echo "<TD>$contador"; echo "<TD>".$myrow["id"]." <TD> ".$myrow["nombre"]; echo "<TD>".$myrow["apellido"]; echo "<TD><a href=\"view.php?id=".$myrow["id"]."\">Ver Contenido</a>"; } echo "</TABLE>"; echo "Se encontro $contador coincidencias"; echo "<br>El criterio de bsqueda fue por ' $searchtype ' "; } else { ?> <center> <form method="POST" action="<?php $PHP_SELF ?>"> <table border=2 bordercolor=#000080 cellspacing=3 cellpadding=2 bordercolorlight=#800080> <h1> Motor de Busqueda <h1> <tr><td>Inserta caracteres de busqueda Aqui</td> <td>Tipo de Busqueda</td></tr> <tr> <td><input type="text" name="searchstring" size="28"></td> <td><select size="1" name="searchtype"> <option selected value="nombre">Nombre</option> <option value="apellido">Apellido</option> <option value="nick">Nick</option> <option value="email">Email</option> </select></td> </tr> </table> <p><input type="submit" value="Buscar" name="B1"><input type="reset" value="Limpiar" ></p> </form> <?php } ?> </center> </HTML>

Fig. 6 Formulario de Bsqueda con criterio de opciones

Los resultados tambin sern presentados de acuerdo a un criterio de bsqueda, por ejemplo se quiere saber quienes de los trabajadores tiene correo electrnico, entonces el termino de bsqueda, ser el caracter @ . Para ese caso el mejor criterio de bsqueda ser por el campo email Fig. 7

Fig. 7 Resultados de la bsqueda segn email

Este modulo (motor.php) como se ve en la fig. 7, permite mostrar los detalles de cada registro. (En el link VER CONTENIDO de la Fig. 7).
<HTML> <?php if ($searchstring) {

d) Validar Datos en un formulario El presente formulario, valida los datos ingresados por teclado (valida.php).
<html> <body> <?php

MsC. Daniel Alejandro Yucra Sotomayor

daniel@somoslibres.org

Pag. - 5 -

Grupo de Usuarios de Software Libre www.somoslibres.org


if ($submit) { if (!$nombre || !$apellido) { $error = "Lo Siento! Ud. no ha llenado todos los campos!"; } else { // formulario proceso echo "$nombre Gracias a ti!"; } } if (!$submit || $error) { echo $error; ?> <P> <form method="post" action="<?php echo $PHP_SELF ?>"> CAMPO 1: <input type="text" name="nombre" value="<?php echo $nombre ?>"><br> CAMPO 2: <input type="text" name="apellido" value="<?php echo $apellido ?>"><br> <input type="Submit" name="submit" value="Ingrese Data"> <input type="reset" value="Limpiar Data"> </form> <?php } // fin del scripts ?> </body> </html>

Programacin Web
c) Crear dos mdulos include HTML para la cabecera de cada presentacin de nuestros scripts y presentacin en el pie de pgina de cada script Del Mdulo Principal, Mantenimiento del Prototipo de Planillas, realizar una presentacin por pantalla cada 5 registros, de tal manera que exista una opcin para mostrar el resto de registros en otra pgina, indicando que en las siguientes pginas continan ms registros a mostrar. A cada registro de la tabla personal adicionar un nuevo campo denominado foto, y muestre el nuevo script view.php En este mismo script adicionar un mensaje del nivel renumerativo del trabajador. Por ejemplo si tiene el mayor salario, salario normal o el salario es mnimo. (Nota: Las imgenes mostradas deben de tener el ancho y altura similar, se sugiere utilizar formato jpg o gif). Para el sub modulo eliminar registro, adicione una restriccin. Por ejemplo la siguiente Pregunta Desea realmente eliminar este registro?. Revise el cdigo modifica.php, y corrija los errores de presentacin y divida el cdigo en dos. El primer sub modulo para modificar registro y un modulo independiente de adicionar nuevos registros y guarde ese nuevo modulo con el nombre de adicionar.php. Del mdulo Motor de bsqueda, realizar una presentacin de resultados simular a la de GOOGLE, para nuestro prototipo. Crear un portal para esta aplicacin con, las nuevas caractersticas, no se olvide de insertar imgenes en cada scripts relacionadas con el prototipo. Bautice con la nomenclatura respectiva la nueva versin de este prototipo. Docente: Ms.C.. Daniel Alejandro Yucra Sotomayor E-mail: daniel@somoslibres.org C.I.P. 61845

4.

5.

6.

7.

Cuestiones Practicas:
1. 2. Construir sesiones a la aplicacin. Del Prototipo del Sistema de Planillas, a partir del modulo vistas o reportes, presentar los siguientes requerimientos: a) Los que ganan por encima de los 1000 Soles, debern de ser descontados el 10% por renta bsica y se presentara un nuevo reporte o vista con este detalle. b) Si la suma total de los salarios de los trabajadores pasa los 10000 nuevos soles, indicar con un nuevo reporte, que trabajadores tienen salario por encima de los 500 nuevos soles. c) Determine el Mximo y Mnimo salario de los trabajadores y el promedio salarial. d) Determine mediante una grfica generada por un script php, el porcentaje de salario mximo y mnimo. Para realizar un retoque en ahorro de Lneas de Cdigo a nuestro ejemplo, crear y presentar al prototipo lo siguiente: a) Crear un modulo include HTML para la conexin a la Base de Datos Planilla y la tabla Personal. b) Crear un modulo include HTML para el ttulo de cada presentacin en el Web, del Prototipo del Sistema de Planillas

8. 9.

www.somoslibres.org
Per 2002

3.

MsC. Daniel Alejandro Yucra Sotomayor

daniel@somoslibres.org

Pag. - 6 -

You might also like