Beruflich Dokumente
Kultur Dokumente
INTRODUCCIÓN 2
INDICE DE CONTENIDOS
3
INTRODUCCIÓN _____________________________________________________________ 2
SESIÓN 01: _________________________________________________________________ 5
SELECCIONAR HERRAMIENTAS PARA LA ELABORACIÓN Y FUNCIONALIDAD DE LA
APLICACIÓN WEB ___________________________________________________________ 5
1.1 Conozcamos las herramientas a utilizar en la elaboración de la aplicación web ____ 6
1.2 Veamos la Instalación y configuración _____________________________________ 7
Autoevaluación 01: _________________________________________________________ 14
SESIÓN 02: ________________________________________________________________ 15
CREACIÓN E INSERCIÓN DE DATOS EN LA BASE DE DATOS A UTILIZAR EN LA
APLICACIÓN. _______________________________________________________________ 15
2.1 Identificación de las tablas principales o base para su creación e inserción de datos. __ 16
2.2 Creación de la Base de datos y tablas mediante código Transac-t SQL ____________ 17
Autoevaluación 02: _________________________________________________________ 20
SESIÓN 03: ________________________________________________________________ 21
DISEÑO Y CODIFICACIÓN DE LA INTERFAZ DE ACCESO DE USUARIOS A LA
APLICACIÓN. _______________________________________________________________ 21
3.1. Diseño de formulario de acceso a la aplicación. _______________________________ 22
3.2. Descripción de nombres e identificadores del formulario para él envió de datos. _____ 27
3.3. Automatizar la conexión a la BD y funciones especiales a utilizar en la aplicación. ___ 27
3.4. Validación de datos de acceso de usuarios a la aplicación. ______________________ 30
Autoevaluación 03: _________________________________________________________ 33
SESIÓN 04 _________________________________________________________________ 34
ESTRUTURAR LA INTERFAZ DEL MENU PRINCIPAL DE LA PLICACIÓN. _____________ 34
4.1. Definir esquema y navegación de menús principales y sub menús de la aplicación ___ 35
4.2. Personalizar Cabecera mediante CSS de la aplicación. ________________________ 37
4.3. Personalizar el panel de menús mediante CSS._______________________________ 37
Autoevaluación 04: _________________________________________________________ 40
SESIÓN 05 _________________________________________________________________ 41
ELABORAR EL CRUD DE LAS TABLAS DE PARA EL REGISTRO DE TIPOS DE
DESCUENTOS Y BONIFICACIONES. ___________________________________________ 41
5.1. Diseñar interfaz para listado, búsqueda y paginación de tipo de Descuentos y
Bonificaciones ____________________________________________________________ 42
5.2. Codificación CRUD: registro, modificar, eliminar así como la consulta de datos de los
tipos de Descuentos y Bonificaciones. __________________________________________ 47
5.3. Diseño y codificación de otras tablas necesarias para la funcionalidad de la aplicación:
Ciudad, tipo planilla, Periodo, Sistema de pensiones (AFP, ONP), Áreas y Cargos. ______ 52
Autoevaluación 05: _________________________________________________________ 53
SESIÓN 06 _________________________________________________________________ 54
Programación III
SESIÓN 01:
SELECCIONAR HERRAMIENTAS PARA LA
ELABORACIÓN Y FUNCIONALIDAD DE LA
APLICACIÓN WEB
Programación III
“El éxito de los proyectos radica en dos simples principios: objetivos claros y
compromisos fuertes“, Moses Thompson.
Ante las necesidades de las empresas en implementar
aplicaciones o soluciones que satisfagan las mismas, un
desarrollador debe tener en cuenta que un proyecto es un conjunto
de SESIÓNes coordinadas y controladas, con fechas bien
definidas, con requisitos específicos incluyendo los tiempos, costos
y recursos. Por lo que planificar que herramientas o recursos
utilizar es uno de los primeros y principales SESIÓNes a realizar.
Para el desarrollo de una aplicación que en este caso se basa en
un sistema web para el control de personal específicamente
generación de planillas, se debe tener en cuenta lo siguiente:
En la siguiente pantalla elegir los soportes a instalar, que en este caso el PHP.
Una vez instalado, vamos a Inicio / Programas / XAMPP y hacemos clic en XAMPP
Control Panel.
Una vez iniciados ingresamos a nuestro navegador web de preferencia, en este caso
vamos a utilizar Google Chrome y en la barra de direcciones digitamos “localhost”. 9
Para signar una clave al usuario root que es el usuario por defecto del servidor,
hacemos clic en http://localhost/security/xamppsecurity.php. 10
En esta pantalla definimos la clave o nueva clave en caso ya se tenga una asignada
la cual se utilizara para acceder a la BD mysql tanto desde un software así como de
la aplicación que vamos a elaborar.
Ahora ya tenemos listo nuestro servidor Web Apache para poder iniciar a desarrollar
la aplicación planteada.
Para hacer uso del programa Pspad como editor de código para el desarrollo de
nuestra aplicación. Lo descargamos de la siguiente url:
http://www.pspad.com/es/download.php
11
En User name se indica el usuario creado para la BD de mysql por defecto es root
En Password se asigna la clave gestionada en la seguridad del usuario la cual se
configuro en el punto 1,2 sobre seguridad.
En el puerto y Databases se deja por defecto como se muestra, luego hacemos clic
en el botón Connect.
Si los datos de conexión con correctos nos muestra en entorno principal en la cual
se muestran en el lado izquierdo las BD creadas en el servidor, a lado derecho el
área de Query en donde se ingresaran el código SQL transact.
Mediante esta aplicación podemos crear BD, sus tablas, realizar consultas e insertar
datos. Todas mediante grafica o bien con código Transac-t SQL.
Programación III
13
Linkografia:
https://www.ecured.cu/XAMPP
http://www.mclibre.org/consultar/php/otros/xampp-instalacion-windows.html
http://www.pspad.com/es/
https://carrero.es/pspad-editor-para-programadores/
http://www.aprendeinformaticaconmigo.com/pspad-multieditor-para-
desarrolladores-gratuito/
https://www.webyog.com/product/sqlyog
https://www.ecured.cu/SQLyog
Programación III
Autoevaluación 01:
14
15
SESIÓN 02:
CREACIÓN E INSERCIÓN DE DATOS EN LA BASE
DE DATOS A UTILIZAR EN LA APLICACIÓN.
Programación III
Para iniciar a elaborar la aplicación lo primero es tener el diseño de nuestra BD, la cual
puede estar aun en análisis pero por lo menos ya se debe de tener algunas tablas
identificadas así como con sus campos, estas tablas serán las primera a crear si como
las que se irán realizando sus mantenimientos.
Hay tablas principales o base las cuales debe de tener información ingresada para poder
ser utilizada en algún proceso o mantenimiento en la que involucre el uso de más de
una tabla, es decir las tablas que no tiene campos foráneos.
En este caso como es una aplicación de planilla las primeras tablas a identificar y crear
serian:
Periodo Tipos_bonificacion
Tipo_planilla
Personal
Tipos_descuento Cargos
Descuento_personal
Planilla
Bonificacion_personal
A continuación vamos a describir el código SQL de la creación de las tablas, así como
la forma de inserción de algunos datos, en la cual puede aprovechar de ingresar más
información.
Programación III
18
Programación III
19
Dentro del script esta unos datos de ejemplo para la tabla personal en la cual, uno de
ellos es el usuario administrador del sistema para lo cual los datos de acceso a la
aplicación son:
20
Autoevaluación 02:
P03: Cuales son los tipos de datos sugeridos para un campo primario (el Id de una tabla)
a.- Tinyint Retroalimentación.
b.- Int
c.- Smallint
d.- Varchar
P06. Por qué utilizar el Inner Join entre dos o más tablas.
P07. Se puede realizar consultas entre dos o más tablas sin utilizar el Inner Join, demuéstrelo
con un ejemplo.
P08. Por qué es importante que toda tabla tenga un campo primario.
P09. Describa la diferencia entre el tipo de dato de cadena: Char, varchar y nvarchar
P10. Mediante un ejemplo demuestre que campos se utilizaría y como se insertaría datos en
una tabla llamada docente.
Programación III
21
SESIÓN 03:
DISEÑO Y CODIFICACIÓN DE LA INTERFAZ DE
ACCESO DE USUARIOS A LA APLICACIÓN.
Programación III
APP.- carpeta que contiene todos los archivos a programar para la aplicación.
ASSETS.- Carpeta donde estarán todas las imágenes, librerías y plugin a utilizar como css,
js los cuales en la mayoría pertenecen a la tecnología bootstrap.
INCLUDES.- Los archivos de conexión a la Base de datos y funciones para la gestión de
registros.
url: xampp/htdocs/syspersonal/index.php
<?php header("Location: app/loggin"); ?>
Programación III
23
Recuerde respetar la estructura del formato de una página html5, es decir
Syspersonal/app/login.php
url: xampp/htdocs/syspersonal/app/login.php
-----
<h1><strong>Sys</strong>Personal</h1>
<p> Bienvenido al sistemas <a href="#">
<strong>Control de Personal</strong></a>, Solo para usuarios autorizados!
</p>
-----
<h3>Acceso al sistema</h3>
<p>Ingrese el nombre de usuario y clave para acceder:</p>
-----
<form role="form" method="post" name='login-form' >
<label >Nombre de usuario</label>
<input type="text" name="username" placeholder="Username..." id="username">
<label >Contraseña</label>
<input type="password" name="password" placeholder="Password..." id="password">
<button type="submit" name='login-form' class="btn">Ingresar!</button>
</form>
Programación III
24
Vista previa del formulario sin CSS ni librerías como los Jquery, bootstrap.
Como se observa la apariencia del formulario en simple, ahora vamos a aplicar los
estilos necesarios, las cuales permiten mejorar su apariencia.
Como parte del material que se adjunta al final de la
SESIÓN se tiene las librerías como las css, jquery y
bootstrap entre otras como las fuentes del tipo de letra.
Estas librerías vamos a incluirlas en nuestro archivo
login.php s para los cual vamos a explicar los cambios a
realizar y ver finalmente como quedaría en su apariencia.
url: xampp/htdocs/syspersonal/app/login.php
25
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
Ahora vamos a incluir las librerías de bootstrap y jquery al final del código html.
url: xampp/htdocs/syspersonal/app/login.php
Al tener las librerías necesarias ya referenciadas debemos adecuar nuestro código html
con las clases para que la apariencia y la funcionalidad sea óptima.
Como se sabe que las librerías de bootstrap permiten que nuestra página se adapte a
los dispositivos ya sea una pc o un celular o tabled. Es por ello que se tiene que
adecuarse a la estructura de nuestro html.
Veamos cómo quedaría el código dentro de “<body>“de nuestro archivo login.php.
url: xampp/htdocs/syspersonal/app/login.php
<div class="top-content">
<div class="inner-bg">
<div class="container">
<div class="row">
<div class="col-sm-8 col-sm-offset-2 text">
[ ……. código del formulario]
<div class="description">
[ ……. código del formulario]
</div>
</div> <p> Bienvenido al sistemas <a href="#">
</div> <strong> Control de personal</strong></a>, Solo para
usuarios autorizados! </p>
Programación III
26
<div class="row">
<div class="col-sm-6 col-sm-offset-3 form-box">
<div class="form-top">
<div class="form-top-left">
<h3>Acceso al sistema</h3>
<p>Ingrese el nombre de usuario y clave para acceder:</p>
</div>
<div class="form-top-right"> <i class="fa fa-key"></i></div>
</div>
<div class="form-bottom">
<form role="form" method="post" name='login-form' class="login-form" >
<div class="form-group">
<label class="sr-only" for="username">Nombre de usuario</label>
<input type="text" name="username" placeholder="Username..." class="form-
username form-control" id="username">
</div>
<div class="form-group">
<label class="sr-only" for="password">Contraseña</label>
<input type="password" name="password" placeholder="Password..." class="form-
password form-control" id="password">
</div>
<button type="submit" name='login-form' class="btn">Ingresar!</button>
</form>
</div>
</div> El código de color VERDE es el que se ha agregado, en nuestro código del
</div> formulario, y como se observa ya no se está utilizando las etiquetas de Tablas
en su lugar se está utilizando las capas es decir los <DIV>.
</div>
</div> Recordemos algunos parámetros del Bootstrap:
</div> - Se inicia con el contenedor de contenido, (content)
- Define el número de columnas con (Row)
- El estilo de formulario para mejorar la apariencia (form)
- Para ajustar los elementos del formulario como el uso de los label y los
input se debe de utilizar (form-group), así como cada input debe de
tener (form-control).
Una vez hemos diseñado nuestro formulario de acceso con las diversas librerías ahora
vamos a describir el uso de los controles en cuanto a los nombres e identificadores que
se ha asignado.
Iniciamos con el formulario en la línea 103: en la cual se ha definido el método de envió
de datos, el cual es el POST ya que permite el enviar de los datos del formulario de
manera oculta. (Según imagen)
En los Input tenemos dos parámetros el “name” y el “id”, ambos sirven como
identificadores de los controles y se utilizan para el envió y recibir los datos ingresados
en el formulario.
Fuente: http://php.net/manual/es/function.mysql-query.php
Programación III
28
Importante:
Por lo mencionado anteriormente en el presente proyecto
vamos a utilizar la programación PDO::query().
Archivo config.php
url: xampp/htdocs/syspersonal/includes/config.php
//Conexión a la BD
<?php
define('DB_HOST','localhost');
define('DB_USER','root');
define('DB_PASS','12345678');
define('DB_NAME','bd_planilla');
try{
$dbh = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME,DB_USER,
DB_PASS,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
}catch (PDOException $e){
exit("Error: " . $e->getMessage());
}
?>
Programación III
Función para generar códigos: como se sabe que cada tabla tiene un campo
primario que en la mayoría de su uso es de tipo numérico, por lo que los códigos 29
de los registro tiene que ser correlativo. Para ello esta función se utilizaría en
todos los mantenimiento que realicemos y la función se encarga de generar el
nuevo id según la tabla que se indique.
Archivo funciones.php
url: xampp/htdocs/personal/icludes/funciones.php
<?php
function getCodigo($dbh,$tableName,$columnName) {
$sql = "SELECT $columnName from $tableName order by 1 desc limit 1";
$query = $dbh->prepare($sql);
$query->execute();
$nid=0;
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount()>0){
foreach($results as $result){
$nid=$result->$columnName;
} }
$nid++;
return $nid;
}
?>
Llamar a la función:
$codigo= getCodigo (“nombretabla”,”nombrecampoprimario”)
Programación III
Para este proceso vamos a recibir los datos de acceso del usuario ingresados en
formulario de login.php. Para lo cual vamos a utilizar la misma página.
Agregar código al inicio de la página login.php
Validación de datos de acceso de usuarios a la aplicación, como se observa en la línea
103, el formulario no direcciona a ninguna página más que a la misma página la cual se
llama “login.php”
Para ello al enviar los datos con el botón “Ingresar” de la línea 112, enviamos el nombre
de usuario y clave y la recibimos con el siguiente código el cual vamos a describir.
Syspersonal/app/login.php
Para que al terminar el código del archivo login.php no muestre error debemos crear el
archivo config.php en la siguiente ruta. syspersonal/includes/config.php, el código
de este archivo lo ubica en el punto 3.2 de esta SESIÓN.
Ahora iniciamos la validación de la sesión e incluimos la conexión a la base de datos.
En la siguiente línea validamos que el formulario enviado no este vacío, es decir que si
tenga los datos del usuario y clave y recibimos los datos con el método POST y con
los nombre de los controles definidos en el parámetro “name”. Para el caso de la
contraseña utilizamos la función md5 para encriptar la clave.
Ahora realizamos la consulta en la base de datos en la tabla “personal”, para validar que
el usuario existe para lo cual comparamos el email y clave recibidos.
Ahora ejecutamos la consulta y asignamos las variables de los datos recibidos con las
variables asignadas en la consulta, las cuales no necesariamente deben ser iguales.
Programación III
Línea 17: si existe el usuario iniciamos el recorrido por los datos y en la línea 22
verificamos si el usuario cuenta con los permisos para acceder al sistema para ello 31
direccionamos al archivo “Mypanel.php” dentro de la carpeta “APP” (línea 26)
Importante:
La seguridad es un tema muy importante y necesario
que se tenga en cuenta en una aplicación ya que solo
deben acceder usuarios autorizados.
Asimismo no se debe dejar de lado la parte de la
apariencia ya que le da un aspecto visual de calidad y
profesionalismo.
Con “isset” validamos si el formulario tiene datos por lo que se procede a recibir el nombre de
usuario y la contraseña, según los nombres de los controles del formulario.
Realizamos la consulta asignando los valores si los datos son correctos se valida que sea un
usuario autorizado para acceder al sistema con la variables “$status” y direccionamos a menú
principal del sistema la cual está en la página “Mypanel.php”.
Autoevaluación 03:
33
P02. En que versión de PHP las extensiones mysql_query, mysql_connect fueron declaras
como obsoletas.
P03. Es indispensable que en el desarrollo de un sistema web se use las incluya las últimas
actualizaciones tanto en herramientas y técnicas de programación.
P04.- La seguridad en los sistemas web es muy importantes, por lo que se utiliza diversas
técnicas para encriptar su información tanto en el acceso y para él envió de datos. Según este
concepto en esta aplicación que función se utiliza para encriptar las claves de los usuarios del
sistema.
En una empresa dedicada a la venta de fertilizantes se tiene la base datos “agrobay” para lo
cual desea que se configure el usuario “uskeyagb” y la contraseña “29agb@a”, teniendo en
cuenta que el sistema funcionara en una red interna, el servidor local que se ha instalado tiene
como Nro IP. 192.168.2.1.
P06.- Mencione algunos Framework PHP que trabajan bajo el modelo MVC
$servidor=”localhost”;
define(‘DB_USER’,’nombreuser’);
$sesion(‘nomuser’)=$nombreuser;
$password=md5($_POST['password']);
Programación III
34
SESIÓN 04
ESTRUTURAR LA INTERFAZ DEL MENU
PRINCIPAL DE LA PLICACIÓN.
Programación III
Ahora veamos la página del menú o entorno del sistema, la cual tiene la siguiente
apariencia.
Syspersonal/app/Mypanel.php
Iniciamos el código html5, incluyendo en las cabeceras las librerías para que la pagina
sea responsivo y las Js y Css necesarios para la apariencia y funcionalidad de menú de 36
opciones.
Tener en cuenta la ubicación de las librerías para que su uso sea correcto.
Ahora incluiremos la cabecera y los menús, los cuales están en archivos diferentes,
header.php y slider.php respectivamente.
37
Syspersonal/include/header.php
Archivo slidebar.php.
Syspersonal/include/slidebar.php
Ahora mostramos los datos del usuario que ingreso al sistema, para ello capturamos el
código del usuario mediante la variable código de la sesión iniciada. (Línea 10).
Programación III
38
39
Como se observa en cada opción de menú se indica a la página que llamara cuando se
haga clic en la opción de menú.
Importante:
Como se sabe que los archivos que vamos a crear para el
mantenimiento de las tablas estarán dentro de la carpeta APP
y el archivo de los menús está en la carpeta INCLUDES,
entonces en necesario que en el HREF se direccione
correctamente. Por lo que debe quedar así:
<li><a href="../app/periodos.php">Periodos</a></li>
Programación III
40
Autoevaluación 04:
user-scalable=no"/>
P02.- Por que utilizar los family de fonts de google.
P03.- Por que utilizar <div class="row"> y <div class="col s12 m12 l6">
P04.- Que funcionalidad permite adaptar las librerías de jquery.
P05.- Que función cumple “htmlentities” y que otras alternativas existen.
P07.- De las siguientes líneas cual es la variable que almacena la información de la
conexión a la Base de datos.
41
SESIÓN 05
ELABORAR EL CRUD DE LAS TABLAS DE PARA
EL REGISTRO DE TIPOS DE DESCUENTOS Y
BONIFICACIONES.
Programación III
Para el mantenimiento de datos por lo general vamos a utilizar 3 archivos, en este primer
proceso vamos a elaborar el diseño del listado, en el siguiente paso vamos a utilizar dos
archivos más para agregar, modificar, eliminar.
Archivo tipodsto.php.
Syspersonal/app/tipodsto.php
Como siempre iniciamos validando si hay una sesión activa para que se muestre el
contenido del archivo, de lo contrario lo direccionara a la pantalla de loggin.
Programación III
43
Vamos a dejar unas líneas vacías para más adelante en el siguiente paso agregar unas
líneas de código.
Continuamos con el inicio de código html en donde agregamos los css y js para la
apariencia del formulario.
Ahora un estilo para los mensajes instantáneos que se muestren al momento de insertar,
modificar y eliminar. Todo ello dentro de </head>
44
Finalmente llegamos a la parte donde se mostrara los datos de la tabla para ello se tiene
una cabecera datos, la consulta a los datos según la tabla “tipo_descuento”.
En la parte de
En el listado usamos iconos de tipo Font de google por lo que para el icono de modificar
y eliminar usamos la clase “material-icons” y el nombre de la fuente. Para más tipos de
iconos ingresamos a la siguiente página. https://materializecss.com/icons.html
El archivo que se ha incluido al inicio de la página es:
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
Programación III
Archivo tipobonif.php.
Syspersonal/app/tipobonif.php
Resultado:
Como se observa el código del archivo tipobonif.php es el mismo
del archivo tipodsto.php, solo se ha realizado los cambios de
títulos y de los nombre de las paginas a las que llama y de los
nombre de los campos según la tabla utilizada.
Programación III
Syspersonal/app/addtipodsto.php
En cada archivo a programar se debe de iniciar verificando que haya una sesión activa,
si no lo es se debe de direccionar al archivo index.php.
Si la sesión esta activa se ejecuta la parte del código para agregar registros a la tabla
tipo de descuentos.
En seguida incluimos el archivo de conexión a la Base de datos y el archivo de funciones
para la generación de códigos al momento de insertar nuevos registros.
Programación III
Ahora continuamos con el código html, incluimos los estilos y funciones las cuales van
en cada archivo php que se cree en adelante. 48
Ahora creamos el input para el ingreso del nombre de tipo de descuento, en el cual se
define un nombre, un id y se indica que es obligatorio con el termino required. 49
También se define los botones para cancelar y guardar el nuevo tipo de descuento.
Finalmente cerramos los DIV y la inclusión de los js y de la función para que los
mensajes de alerta se oculten paso unos segundos.
51
Syspersonal/app/ tipodsto.php
Agregar el
siguiente código el
cual permite
eliminar el registro.
Programación III
53
Autoevaluación 05:
P04.- Con las siguientes línea de codigo que se acción se está realizando.
<?php include('includes/header.php');?>
<?php include('includes/sidebar.php');?>
54
SESIÓN 06
DISEÑO Y PROGRAMACIÓN DE DATOS
DE LA TABLA PERSONAL.
Programación III
Como se observa esta tabla tiene campos foráneos como áreas y cargo, por lo que en
las consulta vamos a utilizar la unión de tablas con el Inner Join.
También vamos a generar un código de personal: E2019-0001.
E2019-0001
Iniciamos con la letra E seguido del Año actual y
correlativo de 4 dígitos
Syspersonal/app/personal.php
56
Si esta activa entonces incluimos la conexión a la Base de datos. Así como agregamos
el código para eliminar un registro de la tabla persona.
Ahora iniciamos el código html en la cual se incluyen las metas necesarias, los css y js
para la funcionalidad.
Los estilos para los mensajes de alerta de insertar, modificar y eliminar. Todo ello dentro
del head.
Programación III
57
Ahora incluimos los archivos para la cabecera y los así como asignamos el nombre del
archivo en el cual se utilizara para agregar más registros, en este caso en el botón
agregar de la línea 74. El archivo a llamar es addpersona.php
58
Iniciamos la consulta a la tabla personal en la cual Unimos la consulta con la tabla caros
mediante el INNER JOIN, también se puede unir con la tabla áreas
Se valida que haya registros con “rowCount()” y se inicia a mostrar los datos de cada
registro con “foreach”.
Mostramos el Código, la fecha de ingreso, y validamos mediante el campo “Sexo” para
mostrar un icono que permite identificar el sexo del personal.
Seguido se muestra los apellidos, el nombre y el número de DNI. Hasta el nombre del
cargo.
En la línea 123, indicamos los botones para editar el cual llama al archivo
“editpersona.php”, y el botón eliminar el cual direcciona al mismo archivo, es por ello
que al inicio del código del archivo “personal.php” se describió las líneas de código que
permite eliminar un registro.
Programación III
Syspersonal/app/addpersona.php
.php
Ahora incluimos el código en el cual recibimos los datos del formulario de agregar
personal. 60
En las líneas 28 se define la clave del personal en blanco, para que en la opción de
menú de configuración se defina la clave para el personal que tendrá acceso al sistema.
En las líneas 30 y 31; generamos el código correlativo en base a 4 dígitos con el nuevo ID
del vez
Una registro. Y seguido
recibido lo concatenamos
los datos, se define lacon la letra “E”
sentencia sqlypara
el años actual paradel
la inserción formar un registro.
nuevo código
correlativo tal como se mencionó al inicio de esta actividad.
Ahora creamos las consultas para llenar las listas desplegables de cargos y áreas.
Programación III
Creamos la fila para mostrar los mensajes de alerta, cuando se inserta, modifica o
elimina un registro.
Programación III
Ahora iniciamos a crear los contrales del formulario, una manera de acelerar este
proceso es crear el primer control y luego duplicamos el código y cambiamos los datos, 62
siempre respetando un orden de los datos según la tabla.
Seguimos creando los controles y entre las líneas 142 y 149, mostramos en una lista
desplegable los datos para elegir el sexo de la persona, también se puede utilizar el
control “radio button”.
Ahora utilizamos la consulta a la tabla cargos realizada al inicio de este archivo para
llenar la lista del control de cargos.
Programación III
63
Ahora agregamos los botones del formulario, en el cual tenemos el botón cancelar para
regresar al ver el listado de los datos y el botón guardar, el cual envía los datos para
regístralo en la base de datos.
Finalmente cerramos el formulario y los DIV, para terminar con el diseño de formulario,
y la inclusión de los plugins js.
Programación III
64
Para culminar con l gestión de los datos de la tabla personal, describimos el código del
archivo “editpersona.php”
Syspersonal/app/editpersona.php
.php
El código de este archivo es similar al del addpersona.php, por lo que se encontrara muy
parecido el código que se describe a continuación.
Programación III
65
Una vez iniciamos con validar la sesión activa e incluimos la conexión a la base de datos.
Iniciamos a recibir en las variables los datos que se envían del formulario y luego
realizamos las consultas SQL para ejecutar la actualización de los datos.
Asignamos las variables para que la actualización del registro se ejecute correctamente.
66
Ahora iniciamos el código html, e incluimos los metas y los estilos necesarios.
67
Realizamos la consulta del registro seleccionado para modificar y iniciamos a crear los
controle del formulario y mostrar el datos a modificar, se muestra en el atributo “Value”.
Programación III
68
69
70
Autoevaluación 06:
71
SESIÓN 07
PREPARAR PLANILLA DE PERSONAL
Programación III
Syspersonal/app/config_planilla.php
En este archivo vamos a listar todos las planillas que se van aperturando, así como ver
su estado de cerradas o inhabilitadas.
Como ya sabemos iniciamos con la validación de la sesión activa. Luego se incluye la
conexión a la base de datos, de la línea 9 a 16 es el código para eliminar la cual se
realiza en el mismo archivo.
Ahora llenamos la lista de periodos para lo cual se realiza la siguiente consulta, así como
recibimos la variables de la lista para la búsqueda de datos.
Programación III
73
En la línea 67 se tiene la función para buscar las planillas por periodo, esta función se
llama desde el combo de periodos.
Incluimos la cabecera y la barra de menús, así como se asigna el título de la página y el
listado de periodos junto al botón de crear nueva planilla. La cual llama al archivo
addplanilla.php.
Programación III
74
Seguido del div para los mensajes de alerta para insertar, modificar y eliminar un
registro.
También se incluye la cabecera del listado de los datos.
Realizamos don validaciones, una para los meses según el número de mes que muestra
el nombre, y en el caso del estado de la planilla. 75
Ahora mostramos los datos y direccionamos a que página para editar y eliminar. Y
cerramos las capas.
Al final agregamos las líneas de los plugin js, para la funcionalidad del archivo y de la
función que muestra unos segundos los mensajes de alerta.
Programación III
Archivo: addplanilla.php
76
Syspersonal/app/addplanilla.php
Al crear una nueva planilla debemos completar los datos del formulario, ahora
describimos el código utilizado.
Iniciamos con validar la sesión activa e incluimos el archivo de conexión a la Base de
datos y la función para generar un nuevo ID para insertar el registro.
Recibimos los datos del formulario que se describirá en líneas posteriores, y se inserta
los datos en la tabla “configurar_planilla”.
Incluimos la cabecera y los menús, así como iniciamos el formulario y los mensajes de
alerta.
Iniciamos con el campo periodo, para ello llenamos la lista con los datos de la consulta
de la línea 34.
Programación III
78
79
Archivo: editplanilla.php
Syspersonal/app/editplanilla.php
80
Ahora realizamos las consultas a las tablas tipo de planilla y periodo para llenar las lista
del formulario.
Iniciamos código html y el uso de los meta, css para la apariencia del entorno.
Programación III
81
Ahora iniciamos el formulario con el llenado del periodo y la validación de que se muestre
por defecto el periodo del registro a modificar.
Programación III
82
Para los meses, igualmente se valida que el mes del registro a modificar se muestre por
defecto, según la validación.
Lo mismo se realiza con el combo del tipo de planilla y la validación para que se muestre
por defecto el tipo de planilla a modificar.
Tener en cuenta que esta opción de configuración de planilla, se debe de tenr solo una
planilla activa.
Se observa el listado del personal, para agregar el descuento asignado según la planilla
activa, hacer clic en el botón de lo punto para que se muestre el formulario de asignación
y listado de descuentos cargados.
Programación III
84
Tal como se observa en la siguiente pantalla.
Syspersonal/app/config_dsto.php
Así como se pueda asignar un descuento, también podemos quitar el descuento que
por algún motivo se le agrego de forma errónea.
Programación III
Para este caso se crea la función eliminar (), la cual el codigo del proceso se describe
en el archivo vistalista_dsto.php. 86
Otra función de utilidad es la que permite buscar los datos del personal, la cual ante un
listado de más de 20 registro podemos utilizar la función buscar_datos(), para ubicar un
personal que no se muestre en la lista inicial y poder asignar o ver qué tipo de descuento
se le esta realizando.
Una vez cerrado el script, iniciamos el html incluyendo los ya conocidos meta y los css
necesarios.
Seguido de los estilos para los mensajes de alerta, dentro de head y cerramos el body.
Programación III
87
Ahora incluimos la cabecera y los menús, el título del formulario así como la capa para
el mensaje de alerta.
También definimos la búsqueda del personal la cual se llama a la función
buscar_datos(), con el evento onkeyup. El cual se ejecuta al ingresar una determinada
letra en la caja de texto.
Creamos una capa para el listado de los datos con el nombre “viewdata”. En la cual se
define la cabecera de la tabla y la consulta a la tabla personal la cual se limita a un total
de 20 registros. (El inner join se puede obviar). En la línea 211 se llama a la función
verdetalle(), en la cual se envía el ID del personal lo cual permite mostrar sus datos y
ver los descuentos asignados según la planilla activa.
Programación III
88
Cerramos los DIV faltantes y iniciamos el formulario del lado derecho en el cual tenemos
un formulario oculto (línea 227: con el comando display:none) el cual cuando se llama a
la función verdetalle(); se habilita.
Este formulario permite agregar descuentos al personal seleccionado, según la planilla
activa. Un combo para elegir el descuento, una text para el importe y el botón agregar,
el cual esta validado si no hay planilla activa no permite agregar.
Programación III
Seguido tenemos los DIV para mostrar el nombre del personal elegido y la lista de los
descuentos asignados. 89
Finalmente se agregan los plugin js. Y la función para los mensajes de alerta.
Syspersonal/app/vistadata_dsto.php
90
Syspersonal/app/vistalista_dsto.php
En este archivo vamos mostrar los descuentos asignados al personal, así como agregar
y eliminarlos.
Las líneas iniciales ya las conocemos, entre las líneas 10-16 se realiza la anulación de
un descuento al personal.
Y entre las lines 19-32, insertamos o agregamos un determinado descuento al personal.
Programación III
En este listado permite eliminar el descuento, para lo cual se llama a la función eliminar
(línea 93). 92
Syspersonal/app/dat_persona.php
Syspersonal/app/config_boni.php
Programación III
93
Función grabar.
Programación III
94
<style> 95
<!—Agregar codigo -->
</style>
Creamos un DIV “viewdata” para la muestra de los datos del personal el cual permitirá
mostrar los resultados de la búsqueda.
Definimos un formulario para agregar las bonificaciones el cual está oculto con el
parámetro “display:none”. Lo campos son tipo bonificación y valor.
Programación III
96
Creamos dos DIV para mostrar el nombre del personal y el segundo para mostrar el
listado de las bonificaciones asignadas.
97
Syspersonal/app/vistadata_boni.php
98
Syspersonal/app/vistalista_boni.php
En este archivo vamos a mostrar las bonificaciones según la planilla activa, así como
agregar y eliminar las bonificaciones del personal.
Ahora según los datos obtenidos extraemos el periodo, el tipo de planilla y el número de
mes de la planilla activa.
Si existen mostramos los datos, de lo contrario mostrara un mensaje de error.
Programación III
99
Ahora el código para insertar, es decir para registrar las bonificaciones asignadas al
personal según la planilla activa.
100
Para completar con este módulo tenemos el código del archivo de búsqueda de
personal.
Syspersonal/app/dat_persona.php
Programación III
101
Autoevaluación 07:
P01.- Un control de un formulario tiene dos parámetros o atributos que le permiten ser
identificados para poder manipular su información.
P02.- Que resultado de obtiene si a un control de un formulario se asigna el valor
“Hidden”
P03.- Explique el uso de la siguiente línea.
var idper=$('#idpersonal').val();
P04.- Con que instrucción Jquery se puede ocultar el contenido de un DIV
P05.- Que resultado se obtiene si se asigna el siguiente código a un DIV.
$('#namecontrol).show();
P05.- Para ocultar un contenido se usa mayormente el Jquery, pero también se puede
ocultar con condigo CSS, indique cual es la manera.
P06.- Explique la utilidad de la Liberia jquery.dataTables.min.css y si es que se combina
con otras librerías
P07.- Es lo mismo hablar de usar Jquery o AJAX
P08.- Con lo visto hasta esta SESIÓN qué opinas del usar la tecnología Bootstrap.
P09.- Describa el uso de las siguientes instrucciones.
<!DOCTYPE html>
<html lang="en">
P10.- Describa el resultado de la siguiente instrucción.
Programación III
102
SESIÓN 08
GENERAR PLANILLA DE TRABAJADORES,
EXPORTAR A EXCEL Y OTROS REPORTES.
Programación III
Para culminar como toda aplicación, se tiene los reportes, pero previo a ello
generaremos la planilla y luego la exportaremos en formato portables de tipo xls.
8.1. Generar datos de planilla mediante formato Excel y realizar el cierre.
Syspersonal/app/generarpla.php
En este proceso una vez configurado una panilla activa y cargado los descuentos y
bonificaciones al personal se procede a generar la planilla y luego expórtala a Excel.
Iniciamos validando la sesión activa e incluimos la conexión a la Base de Datos.
Recibimos las varianles de las lista de filtrado y las consultas para obtener los datos de
los descuentos y bonificaciones para armar la cabecera de la planilla
Programación III
104
Iniciamos el código html, creamos la función ver_data() para realizar la consulta de los
datos de una planilla activa y la función generar_planilla() para registrar y cerrar la
planilla generada.
Incluimos los metas y css como las fuentes de iconos de google y los estilos de
apariencia. Adicional a ello el silo para el mensaje de alerta.
Programación III
105
Ahora iniciamos el formulario, los controles de consultas según planilla activa y los
botones para generar la planilla.
106
107
Lo mismo realizamos con las bonificaciones, estas funciones se realizan con las
consultas realizadas en las líneas 15 y 21.
Cerramos el TR e iniciamos con la consulta para obtener los datos del personal y de
los descuentos y bonificaciones y realizar los cálculos para obtener el sueldo a pagar.
Programación III
Mostramos los primeros datos del personal como el código, validamos el sexo para
mostrar un icono que los diferencia a la vista del usuario e incluimos los apellidos y 108
nombres, junto el número de DNI.
Seguido del campo sueldo al cual se convierte en un numero con dos decimales (línea
272 y lo mostramos en la línea 273).
Ahora obtenemos los descuentos según el personal y los datos de la planilla activa; para
ello primero en la línea 282 obtenemos el ID del personal y en la línea 283 creamos una
variables “$ttdsto” para acumular el total de los descuentos por personal.
109
Syspersonal/app/xls_gp.php 110
En este archivo el código es similar al del archivo generarpa.php. Las líneas 10,11 y
12 son las que definen el reporte en Excel, ya que son las variables que se reciben los
datos de la panilla, periodo y mes activo.
111
Ahora el código que permite exportar los datos en un archivo de Excel, el código de las
línea 60 y 61 van en una sola línea, en la cual se está dando el nombre de planilla,
seguido del tipo de planilla, nombre del periodo y el número del mes
Esto permite que al exportar se muestre la siguiente pantalla para guardar el archivo
XLS.
Iniciamos el código html con los datos de la planilla, para lo cual solo se aplica el uso
de tablas, ya que en este apartado no se reconoce los DIV.
112
113
114
Syspersonal/app/r_personal.php
.php
Este espacio vamos a listar los datos del personal, en la cual se puede buscar por el
nombre, apellido, DNI u otro dato, así como tiene la paginación. Dando la opción d
exportar la información en un archivo de formato XLS.
Describamos el código: Iniciamos validando la sesión activa e incluimos la conexión a
la base de datos.
115
Una vez ejecutada la consulta validamos que haya registros y mostramos los datos.
Programación III
116
Syspersonal/app/xls_per.php
.php
Iniciamos la validación de la sesión e incluimos el archivo de conexión. Asi como los
header para generar el archivo XLS.
117
118
Syspersonal/app/r_planilla.php
.php
Programación III
119
Incluimos la cabecera y las barra de menús. Así como iniciamos el formulario para las
lista de consultas por planillas, periodo y mes.
Programación III
120
Ahora obtenemos los descuentos del personal según la planilla, periodo y mes
seleccionado.
Programación III
Ahora el archivo “xls_gp”, que llama el botón exportar, el código es el mismo archivo
que se llama desde la pantalla de gestión de planilla.
Syspersonal/app/xls_gp.php
.php
Programación III
.php
Iniciamos validando la sesión activa e incluimos la conexión a la base de datos, a partir
de la línea 08, definimos el código para quitar los permisos de acceso al personal para
lo cual se le quita la clave y se cambia de estado al campo “tipousuario”.
125
Ahora creamos la consulta para mostrar los datos del personal, que en lo general el
código similar al del archivo que muestra los datos del personal “personal.php”
Programación III
126
Validamos que tipo de usuario es para mostrar una descripción en el listado de los datos.
Y seguido mostramos los datos como código, dni, apellidos, correo, clave y el tipo de
usuario.
Como se observa en el código hay términos como: email, vpn_key, verified_user estos son los
nombre de las fuentes de iconos los cuales se muestran en el listado de esta pantalla.
El icono de la “llave”, que permite asignar la clave de acceso al personal nos direcciona
al archivo “edituser.php”.
Finalmente cerramos los DIV y incluimos los plugins js para completar la funcionalidad.
Programación III
127
Syspersonal/app/edituser.php
.php
Pantalla para editar y asignar clave de acceso al sistema para el personal de la empresa.
Seguido, iniciamos el código para modificar los datos, para ello recibimos la información
del formulario y ejecutamos el SQL para la actualización en la tabla correspondiente.
Programación III
128
129
Autoevaluación 08:
131
P01.- Que meta utilizarías o que otro método conoces para evitar que las letras son
tildes y las letras Ñ se visualicen correctamente.
P02.- Para publicar el sistema en un servidor local y trabaje en red que cambios
realizarías en la conexión de la BD.
P03.- Describa el uso de la función. “$query->fetchAll”
P04.- Que uso le podemos dar a la función: number_format
P05.- Cual es el uso de la función: substr()
P06.- Que ventajas o cual recomendarías, según tu experiencia si se tiene que
desarrollar un aplicación web con la extensión Mysql_query o pdo->query.
P07.- Como sería el código PHP para insertar un registro en la tabla ciudad que tiene
un campo código y nombre.
P09.- Que otros herramientas conoces o has utilizado para implementar un servidor web
P010.- Define un servidor LAMP.