Académique Documents
Professionnel Documents
Culture Documents
ESTUDIANTES:
BILMER ANTONIO PEREZ
HERNAN FELIPE LOZANO
ANDRES JULIAN MONTENEGRO
JORGE LUIS OCHOA URREGO
TUTOR:
FRANCISCO JAVIER HILARIÓN NOVOA
GRUPO: 301127_22
ABRIL DE 2019
1
INTRODUCCIÓN
2
OBJETIVOS
Objetivo General
Crear un sistema de información (del Lado del Servidor) que permita a la entidad suplir sus
necesidades a total satisfacción, mediante la utilización de las metodologías estructuradas para la
elaboración de sitios WEB, durante el tiempo solicitado.
Objetivos Específicos
Realizar los cálculos de precio de venta al público incluyendo impuestos (%) y utilidad para la
tienda (%). Al igual que la calculadora para las resistencias.
3
CREACION DE LA BASE DE DATOS
Se permite crear una base de datos por medio de la siguiente secuencia de información en php
capturando la información del formulario por medio del método “POST”
4
CREACION DE TABLAS
Para la creación de Tablas se realiza por medio del comando CREATE TABLE de la secuencia
SQL por medio del siguiente código PHP
5
6
CREACION REPORTE
Para la creación del reporte se hace uso de la biblioteca fpdf que permite crear archivos php
7
CREACION DE BACKUP
8
FUNCION INSERT
Se realiza la función INSERT de SQL para realizar la adición de productos a la base de datos con
el siguiente código
9
FUNCION UPDATE
Con la función UPDATE de SQL, se pueden realizar modificaciones de los registros en la base
de datos por medio de un formulario HTML el cual ejecuta el método POST pare enviar los
datos.
10
11
FUNCION SELECT
Con la función SELECT se pueden seleccionar las tablas de las base de datos y traer los registros
para ser presentados por medio de arreglos para estos registros
12
13
14
FUNCION DELETE
Con esta función cada registro es susceptible de ser borrada desde el formulario, con la
advertencia en caso de retractarse.
15
16
MODELO ENTIDAD RELACION DE LA BASE DE DATOS
17
DISEÑO E IMPLEMENTACIÓN DEL LADO DEL SERVIDOR
Como solución al proyecto web para la empresa “Fox Electronics”, se presenta la siguiente
propuesta.
Continuando con el proyecto elegido en la fase anterior (fase 3), se procede a realizar los ajustes
para la implementación del lado del servidor.
Como primera medida creamos el script.php para crear una base de datos ya que tenemos
instalado y configurado el servidor appserv.
<?php
// Script php para crear una base de datos
// se creará con el nombre que el usuario elija
$nameBD=$_POST["nombreBD"];
}
mysql_close($conectar);//se cierra la conexión
?>
Enlazado desde la siguiente interfaz.
18
Se ha creado una base de datos denominada bdunad22
Continuando con el proceso de creación, se continúa creando una tabla para almacenar los
registros de los productos de la empresa con los campos solicitados, con el siguiente Script.php.
el script valida que previamente se haya creado una base de datos.
<?php
// Script php para crear una tabla en la BD
// se creará con el nombre que el usuario elija
$BD=$_POST["nombreBD"];//se captura el nombre de la BD
$tabla=$_POST["nombreT"];//se captura el nombre para la tabla
if (!($conectar=mysql_connect("localhost", "root", "12345678")))//se realiza conexión
con la BD
{
echo " <br> Error en la conexión. Usuario y/o Contraseña incorrectos. <br>";
} else{
if (!($bd=mysql_select_db($BD))) {
echo "La base de Datos ".$BD. " No existe.";
}else{
mysql_query("CREATE TABLE $tabla (codigo INTEGER PRIMARY KEY,
nombre varchar(50) NOT NULL,
marca varchar(50) NOT NULL,
precio float(10.2) NOT NULL,
cantidad int(10) NOT NULL)");
mysql_close($conectar);
?>
19
La creación de la tabla se realizó desde la siguiente interfaz. Que solicita el nombre de la base de
datos creada y un nombre para la nueva tabla.
Evidencia en el servidor.
Insert
<?php
//información de la Base de Datos
$BD="bdunad22";
$tabla="tabla22";
20
$precio=$_POST["precio"];
$cantidad=$_POST["cantidad"];
} else
{
if (!($bd=mysql_select_db($BD))) {//se verifica la existencia de la BD
echo "La base de Datos ".$BD. " No existe.";
}
else{
$sql="SELECT * FROM $tabla WHERE codigo='$codigo'";//se consulta si ya existe
un registro para el codigo ingresado
$insert=mysql_query($sql, $conectar);
if (mysql_num_rows($insert)>=1) {
echo "Ya existe un Producto Registrado con el código: ".$codigo; }
else{
//se inserta el nuevo producto
mysql_query("INSERT INTO $tabla (codigo, nombre, marca, precio, cantidad)
VALUES('$codigo', '$nombre', '$marca', '$precio', '$cantidad')");
}
}
mysql_close($conectar);
?>
21
Evidencia en el servidor
} else
{
if (!($bd=mysql_select_db($BD))) {//se verifica la existencia de la BD
echo "La base de Datos ".$BD. " No existe.";
}
else{
22
$sql="SELECT * FROM $tabla WHERE codigo='$codigo'";//se consulta si ya existe
un registro para el codigo ingresado
$consulta=mysql_query($sql, $conectar);
if (mysql_num_rows($consulta)>=1) {
mysql_data_seek($consulta, 0);
$producto=mysql_fetch_array($consulta);
//se muestra el producto consultado
echo "<strong>Código:</strong> " .$producto['codigo']."<br>";
echo "<strong>Nombre: </strong>" .$producto['nombre']."<br>";
echo "<strong>Marca: </strong>" .$producto['marca']."<br>";
echo "<strong>Precio: </strong>" .$producto['precio']."<br>";
echo "<strong>Cantidad: </strong>" .$producto['cantidad']."<br>";
}
else{
//Mensaje de la consulta negativa
echo " El producto ".$codigo." No ha sido registrado en la Base de Datos.";
}
}
}
mysql_free_result($consulta);
mysql_close($conectar);
?>
La interfaz de consulta
23
El servidor
También se realiza el proceso de actualización de datos “UPDATE” mediante php, donde solo se
pide como requisito mínimo el campo código el cual es único y el usuario podrá actualizar
cualquier campo no es obligatorio llenar todo el formulario, el script.php verifica cuales campos
de actualizaran y mantendrá los datos anteriores que no se deseen cambiar.
<?php
//información de la Base de Datos
24
$BD="bdunad22";
$tabla="tabla22";
} else
{
if (!($bd=mysql_select_db($BD))) {//se verifica la existencia de la BD
echo "La base de Datos ".$BD. " No existe.";
}
else{
$sql="SELECT * FROM $tabla WHERE codigo='$codigo'";//se consulta si ya existe
un registro para el codigo ingresado
$consultar=mysql_query($sql, $conectar);
if (mysql_num_rows($consultar)>=1) {
mysql_data_seek($consultar, 0);
$producto=mysql_fetch_array($consultar);
//se verifica que datos el usuario desea actualizar
if ($nombre=="")
{
$nombre=$producto['nombre'];
}
if ($marca=="")
{
$marca=$producto['marca'];
}
if ($precio=="")
{
$precio=$producto['precio'];
}
if ($cantidad=="")
{
$cantidad=$producto['cantidad'];
}
25
//se realiza la actualización del producto
mysql_query("UPDATE $tabla SET nombre='$nombre', marca='$marca',
precio='$precio', cantidad='$cantidad' WHERE codigo='$codigo'");
//mensaje para el usuario
echo "El Producto Registrado con código: ".$codigo. " se actualizo correctamente.";
}
else{
echo " El producto con código: ".$codigo." no existe en la base de datos.";
}
}
}
mysql_close($conectar);
?>
La interfaz de actualización
26
En el servidor
También es posible eliminar un registro de producto de la base de datos DELETE, donde solo se
necesita el código del producto.
<?php
//información de la Base de Datos
$BD="bdunad22";
$tabla="tabla22";
} else
{
if (!($bd=mysql_select_db($BD))) {//se verifica la existencia de la BD
echo "La base de Datos ".$BD. " No existe.";
}
else{
$sql="SELECT * FROM $tabla WHERE codigo='$codigo'";//se consulta si ya existe
un registro para el codigo ingresado
$consulta=mysql_query($sql, $conectar);
if (mysql_num_rows($consulta)>=1) {
//se realiza la eliminación del producto correspondiente
mysql_query("DELETE FROM $tabla WHERE codigo='$codigo'");
27
//se muestra mensaje de eliminación del produco
echo "<strong> El Producto con Código ".$codigo." se ha Eliminado de la Base de
Datos:</strong><br>";
}
else{
//Mensaje de la consulta negativa
echo " El producto ".$codigo." No ha sido registrado en la Base de Datos.";
}
}
}
mysql_close($conectar);
?>
Se verifica en el servidor
28
Con cada operación (CRUD) que se realice, el sistema arroja una interfaz de información del
proceso realizado.
Ingresar producto.
29
Actualizar producto.
Consultar producto.
30
Eliminar producto.
Continuando con los procesos solicitados dentro del sistema, mediante un script.php se realiza el
Backup de la base de datos, con la necesidad de obtener información de respaldo.
<?php
//Base de datos
$BD="bdunad22";
} else
{
if (!($bd=mysql_select_db($BD))) {//se verifica la existencia de la BD
echo "La base de Datos ".$BD. " No existe.";
}
else
{
// Backup BD
$BD = 'bdunad22'; //Nombre de la Base de datos
$fecha = date("Ymd"); //Obtenemos la fecha para identificar el respaldo
31
// Construimos el nombre de archivo SQL Ejemplo:
bdunad22_20190425.sql
$salida_sql = $BD.'_'.$fecha.'.sql';
if($zip->open($salida_zip,ZIPARCHIVE::CREATE)===true) { //Creamos
y abrimos el archivo ZIP
$zip->addFile($salida_sql); //Agregamos el archivo SQL a ZIP
$zip->close(); //Cerramos el ZIP
unlink($salida_sql); //Eliminamos el archivo temporal SQL
header ("Location: $salida_zip"); // Redireccionamos para descargar el
Arcivo ZIP
} else
{
echo 'Error al crear Backup o Respaldo'; //Enviamos el mensaje de
error
}
}
}
mysql_close($conectar);
?>
El script anterior, verifica conexión hacia la BD, verifica que exista la base de datos y si es correcto
realiza el Backup.sql comprimido en un archivo.zip, el cual se guardara en la ruta preferida.
32
El sistema permite generar un documento.pdf con el listado de elementos registrados en la base
de datos mediante el siguiente Script.php
<?php
require 'fpdf/fpdf.php'; // uso de la libreria fpdf
33
$this -> Cell(40, 10, $listar['codigo'], 1, 0, L);
$this -> Cell(40, 10, $listar['nombre'], 1, 0, L);
$this -> Cell(40, 10, $listar['marca'], 1, 0, L);
$this -> Cell(30, 10, $listar['precio'], 1, 0, R);
$this -> Cell(30, 10, $listar['cantidad'], 1, 0, R);
$this -> Ln();
}
}
}
?>
34
35
Creación del archivo login.php el cual nos va a permitir validar de que el usuario y contraseña
coinciden con los que estan presentes en la base de datos
36
con el archivo auth.php se estará ejecutando, si al ver que no hay interacción con la plataforma
después de un cierto tiempo procederá a cerrar la sesión del usuario
37
Archivo que nos enlaza la base de datos de MySQL con el aplicativo web
Formulario de registro, en el cual se podrá registrarse para así poder iniciar sesión en el aplicativo
web
38
CONCLUSIONES
Se fortalecieron los conocimientos para desarrollar una propuesta de sitios web interactivos
haciendo uso de los fundamentos teóricos y prácticos para la creación de sitios web.
Se logro ofrecer una solución tecnológica ante un requerimiento cotidiano, que puede
suceder en cualquier momento de nuestra vida profesional.
39
REFERENCIAS BIBLIOGRÁFICAS
Cobo, Ángel, et al. PHP y MySQL: tecnologías para el desarrollo de aplicaciones web. (Páginas. 1
- 20). Ediciones Díaz de Santos, 2005. ProQuest Ebook Central. Recuperado de:
https://bibliotecavirtual.unad.edu.co:2538/lib/unadsp/reader.action?ppg=19&docID=3173408
&tm=1544022923309
Vara, Mesa, Juan Manuel, et al. Desarrollo web en entorno cliente. (Páginas. 29 - 49). RA-MA
Editorial, 2014. ProQuest Ebook Central. Recuperado de:
https://bibliotecavirtual.unad.edu.co:2538/lib/unadsp/reader.action?ppg=30&docID=3229683
&tm=1544023315772
Mohedano, Jorge, et al. Iniciación a javascript, Ministerio de Educación de España, 2012. (Páginas.
25 - 61) ProQuest Ebook Central. Recuperado de:
https://bibliotecavirtual.unad.edu.co:2538/lib/unadsp/reader.action?ppg=26&docID=3214795
&tm=1544023398179
Vara, Mesa, Juan Manuel, et al. Desarrollo web en entorno cliente. (Páginas. 145 - 150). RA-MA
Editorial, 2014. ProQuest Ebook Central. Recuperado de:
https://bibliotecavirtual.unad.edu.co:2538/lib/unadsp/reader.action?ppg=146&docID=3229683
&tm=1544023500134
Shenoy, A., & Sossou, U. (2014). Learning Bootstrap. Birmingham [England]: Packt Publishing.
Recuperado de:
http://bibliotecavirtual.unad.edu.co/login?url=http://search.ebscohost.com/login.aspx?direct=tr
ue&db=nlebk&AN=933023&lang=es&site=eds-live
40