Вы находитесь на странице: 1из 31

Programación Sitios Web

Unidad 3: Fase 4 - Manejo de bases de datos

Tutora
Claudia Marcela Diaz Scarpetta

Estudiante
Nancy Stella Guevara Ángel 43.565.225
German Alonso Restrepo 98.561.415
Andres Felipe Arias Marin 1.017.184.308
Cesar Augusto Galvis Galvis 71.376.214

Grupo
301127_38

Universidad Nacional Abierta A Distancia UNAD


CEAD Medellín
Noviembre De 2018
Introducción

Por medio de la realización del presenta trabajo se adquieren los conocimientos del manejo
gestores de base de datos, instrucciones SQL y el manejo de bases de datos en PHP. Así
como también el manejo de las librerías PDF para la generación de reportes y el manejo de
las copias de seguridad en PHP y MySQL.

Dichos conocimientos fueron puestos en práctica realizando la creación de base de datos,


tablas, inserción, actualización, borrado y consulta de registros en PHP por medio de las
instrucciones de SQL.
Desarrollo de la Actividad

Dentro del menú de administrador, debe crear un script en PHP que permita crear la base de
datos de su aplicativo en MYSQL, dicha base de datos se llamará: bdunadXX, donde XX
corresponde al número de su grupo de trabajo colaborativo.

Dentro del menú de administrador, debe crear un script en PHP que permita crear una tabla
en la base de datos creada anteriormente. Dicha tabla debe llamarse: tablaXX, donde XX
corresponde al número de su grupo de trabajo colaborativo.

Dentro del mismo menú de administrador debe permitir generar el backup de la base de datos
mediante el aplicativo Mysqldump incluido en la suite de Appserv.

Dentro del menú de administrador se realizaron dos nuevas opciones con las siguientes
funcionalidades.

Administración Base de Datos: Al seleccionarla aparece un formulario, en el cual se utilizó


el manejo de tablas y 6 botones tipo submit para realizar cada una de las operaciones
deseadas y un link para regresar a la página de inicio.

Entre las operaciones a realizar están:

 Creación y borrado de la base de datos “bdunad38”


 Creación y borrado de la tabla “Tabla38”
 Backup de la base de datos

Al seleccionar el botón “Crear BD”, aparece el siguiente mensaje

Verificando en PhpMyAdmin se puede evidenciar lo siguiente

Al seleccionar el botón “Crear Tabla”, aparece el siguiente mensaje


Verificando en PhpMyAdmin se puede evidenciar lo siguiente

Al seleccionar el botón “Backup BD”, aparece el siguiente mensaje

Verificando en el directorio C:\AppServ\www\tienda_virtual\backup

Al seleccionar el botón “Borrar BD”, aparece el siguiente mensaje

Verificando en PhpMyAdmin se puede evidenciar lo siguiente

Al seleccionar el botón “Borrar Tabla”, aparece el siguiente mensaje


Verificando en PhpMyAdmin se puede evidenciar lo siguiente

Código Administrador Base de Datos

<!DOCTYPE html>
<html lang="es">
<head>
<title>Administración de la Base de Datos</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Venta productos típicos colombianos">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>

<body>
<div id="agrupar">
<div class = "page-header" style="width: 98%; margin:10px 15px 10px 15px;text-align:center;
background-color: #CCCCCC; border: 1px solid; ">
<h1 style="text-align:center; font-size: 3em;">Tienda virtual productos típicos Colombianos</h1>

</div>

<nav class="navbar navbar-inverse" style="width: 98%; margin:10px 15px 10px 15px;">


<ul class="nav navbar-nav">
<li class="active"><a href="../index.html">Inicio</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown"
href="#">Administrador
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li class="active"><a
href="administracion.html">Administración Base de Datos</a></li>
<li><a href="eliminar.html">Eliminación de
Productos</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown"
href="#">Productos
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li class="active"><a href="registro.html">Registro de
productos</a></li>
<li><a href="consulta.html">Consulta de productos</a></li>
<li><a href="actualizar.html">Actualización de
productos</a></li>
<li><a href="reportes.html">Reportes especiales</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown"
href="#">Operaciones matemáticas
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="conversion.html">Conversión </a></li>
<li><a href="comparar.html">Comparación de números
</a></li>
<li><a href="secuencia.html">Secuencia de números </a></li>
<li><a href="vectormultiplicado.html">Multiplicacion en
arreglos </a></li>
<li><a href="vectorordenado.html">Ordenación de arreglos
</a></li>
<li><a href="vectorborrado.html">Eleminación elementos de
arreglos </a></li>
</ul>
</li>
</ul>
</nav>
<div style="width: 50%; margin:0px 15px 0px 15px;text-align:justify; background-color:
#CCCCCC">
<div class="container" style="width: 95%">
<h2><p align=center> Formulario para la administracion de la base de datos de
productos</p></h2><br /><br />
<p><b>Seleccione la operación a realizar:</b></p>

<table class="table table-bordered">


<tbody>
<tr>
<td>
<a href="creacion_db.php"> <p align=center>
<button type="submit" class="btn btn-default"><b>Crear BD</b></button> </p> </a>
</td>
</tr>
<tr>
<td>
<a href="crear_tabla.php"> <p align=center> <button
type="submit" class="btn btn-default"><b>Crear Tabla</b></button </p> </a>
</td>
</tr>
<tr>
<td>
<a href="backup.php"> <p align=center> <button
type="submit" class="btn btn-default"><b>Backup BD</b></button </p> </a>
</td>
</tr>

<tr>
<td>
<a href="borrar_db.php"> <p align=center> <button
type="submit" class="btn btn-default"><b>Borrar BD</b></button> </p> </a>
</td>
</tr>
<tr>
<td>
<a href="borrar_tabla.php"> <p align=center>
<button type="submit" class="btn btn-default"><b>Borrar Tabla</b></button </p> </a>
</td>
</tr>
</tbody>
</table>
</div>
<div class="container" style="width: 95%">
<p align=center> <a href="../index.html"><b>Inicio</b></a></p>
</div>
</body>
</html>

Código Crear Base de Datos


<?php
$servername = "localhost";
$username = "root";
$password = "12345678";
// Creaccion de la conexion
$conn = mysqli_connect($servername, $username, $password);
// Revision de la conexion
if (!$conn) {
die("Error: No se pudo conectar". mysqli_connect_error());
}
// Creación de la base de datos database
$sql = "CREATE DATABASE bdunad38";
if (mysqli_query($conn, $sql)) {
echo "Base de datos creada satisfactoriamente";
} else {
echo "Error creando base de datos: " . mysqli_error($conn);
}
mysqli_close($conn);
?>

Código Crear Tabla

<?php
$servername = "localhost";
$username = "root";
$password = "12345678";
$dbname = "bdunad38";
// Creaccion de la conexion
$conn = mysqli_connect($servername, $username, $password, $dbname);
// chequeo de la conexion
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// instrucción sql para crear la tabla
$sql = "CREATE TABLE tabla38 (
codigo VARCHAR(8) PRIMARY KEY,
nombre VARCHAR(50) NOT NULL,
peso VARCHAR(10) NOT NULL,
marca VARCHAR(20) NOT NULL,
region VARCHAR(20) NOT NULL,
caracteristica VARCHAR(2000)
)";
if (mysqli_query($conn, $sql)) {
echo "Tabla de productos creada satisfactoriamente";
} else {
echo "Error creando tabla: " . mysqli_error($conn);
}
mysqli_close($conn);
?>

Código Backup Base de Datos

<HEAD>
<TITLE>Backup Base de Datos </TITLE>
</HEAD>
<BODY>
<?php
// declaracion de variables
date_default_timezone_set("America/Bogota");
$dbhost="localhost";
$dbuser="root";
$dbpass="12345678";
$dbname="bdunad38";
$mysqldump='"C:\AppServ\MySQL\bin\mysqldump.exe"';
$backup_file = '"C:\AppServ\www\tienda_virtual\backup\"'.$dbname. "-" .date("Y-m-d-H-i-s"). ".sql";
system("$mysqldump --no-defaults -u $dbuser -p$dbpass $dbname > $backup_file");
?>
<h2><p align="center">Copia de respaldo realizada con exito</p></h2>
</BODY>
</HTML>

Código Borrar Base de Datos

<?php
$servername = "localhost";
$username = "root";
$password = "12345678";
// Creaccion de la conexion
$conn = mysqli_connect($servername, $username, $password);
// Revision de la conexion
if (!$conn) {
die("Error: No se pudo conectar". mysqli_connect_error());
}
// Creación de la base de datos database
$sql = "DROP DATABASE bdunad38";
if (mysqli_query($conn, $sql)) {
echo "Base de datos borrada satisfactoriamente";
} else {
echo "Error borrando la base de datos: " . mysqli_error($conn);
}
mysqli_close($conn);
?>

Código Borrar Tabla

<?php
$servername = "localhost";
$username = "root";
$password = "12345678";
$dbname = "bdunad38";
// Creaccion de la conexion
$conn = mysqli_connect($servername, $username, $password, $dbname);
// chequeo de la conexion
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// instrucción sql para crear la tabla
$sql = "DROP TABLE tabla38";
if (mysqli_query($conn, $sql)) {
echo "Tabla de productos borrada satisfactoriamente";
} else {
echo "Error borrando tabla: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
Dentro del menú de Ingreso de productos debe enlazar el formulario de captura de datos
diseñado en la fase anterior a la tabla de la base de datos y guardar este registro allí, por
medio de la operación INSERT de MySQL.
Dentro de las opciones de productos se incluyeron nuevas funcionalidades de manejo de
base de datos en los formularios ya existentes.

Al seleccionar “Registro de productos”, aparece el siguiente formulario donde se captura


la información del producto como es código, nombre, peso, marca, región, características
del producto, botón para guardar la información y un link para regresar al inicio.
Lo anterior se realizó utilizando 6 input tipo texto para a captura de la información y un
botón tipo submit para guardarla.

Al seleccionar el botón “Guardar” aparece el siguiente mensaje


Verificando en PhpMyAdmin se puede evidenciar lo siguiente

Código
<?php
$servername = "localhost";
$username = "root";
$password = "12345678";
$dbname = "bdunad38";
$codigo = $_POST['codigo'];
$nombre = $_POST['nombre'];
$peso = $_POST['peso'];
$marca = $_POST['marca'];
$region = $_POST['region'];
$caract = $_POST['caract'];
// Creaccion de la conexion
$conn = mysqli_connect($servername, $username, $password, $dbname);
// chequeo de la conexion
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO Tabla38 (codigo, nombre, peso, marca, region, caracteristica)
VALUES ('$codigo', '$nombre', '$peso', '$marca', '$region', '$caract')";
if (mysqli_query($conn, $sql)) {
echo "La información ha sido grabada satisfactoriamente";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
Dentro del menú de consulta de productos debe enlazar este formulario de captura de
datos diseñado en la fase anterior con la base de datos y permitir mostrar el registro
asociado a ese número, mediante la operación SELECT de MySQL.
Al seleccionar “Consulta de productos”, aparece el siguiente formulario donde se captura
el código del producto a buscar, botón para buscar la información y un link para regresar
al inicio.
Lo anterior se realizó utilizando 1 input tipo texto para capturar el código y un botón tipo
submit para buscarlo.

Al seleccionar el botón “Buscar” aparece el siguiente mensaje

Código
<?php
$servername = "localhost";
$username = "root";
$password = "12345678";
$dbname = "bdunad38";
$codigo = $_POST['codigo'];
// Creaccion de la conexion
$conn = mysqli_connect($servername, $username, $password, $dbname);
// chequeo de la conexion
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT codigo, nombre, peso, marca, region, caracteristica FROM Tabla38 WHERE codigo= '$codigo'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "codigo: " . $row["codigo"]. " nombre: " . $row["nombre"]. " peso: " . $row["peso"]. " marca: " . $row["marca"]. "
region: " . $row["region"]. " caracteristica: " . $row["caracteristica"]. "<br>";
}
} else {
echo "El código ingresado no existe en la base de datos";
}
mysqli_close($conn);
?>

Dentro del menú de actualización de productos debe enlazar este formulario de captura
de datos diseñado en la fase anterior con la base de datos y permitir actualizar la
información de ese registro mediante la operación UPDATE de MySQL.
Al seleccionar “Actualización de productos”, aparece el siguiente formulario donde se
captura la información del producto para actualizar como es código, nombre, peso,
marca, región, características del producto, botón para actualizar la información y un
link para regresar al inicio.
Lo anterior se realizó utilizando 6 input tipo texto para a captura de la información y un
botón tipo submit para actualizarla.

Al seleccionar el botón “Actualizar” aparece el siguiente mensaje

Verificando en PhpMyAdmin se puede evidenciar lo siguiente


Registro antes de modificación

Registro modificado
Código
<?php
$servername = "localhost";
$username = "root";
$password = "12345678";
$dbname = "bdunad38";
$codigo = $_POST['codigo'];
$nombre = $_POST['nombre'];
$pero = $_POST['peso'];
$marca = $_POST['marca'];
$region = $_POST['region'];
$caract = $_POST['caracteristica'];
// Creaccion de la conexion
$conn = mysqli_connect($servername, $username, $password, $dbname);
// chequeo de la conexion
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "UPDATE Tabla38 SET nombre='$nombre', peso='$peso', marca='$marca', region='$region', Caracteristica='$caract'
WHERE codigo='$codigo'";

if (mysqli_query($conn, $sql)) {
echo "Información actualizada satisfactoriamente";
} else {
echo "Error actualizando la información: " . mysqli_error($conn);
}
mysqli_close($conn);
?>

Dentro del menú de Administrador debe crear un formulario que permita capturar el
código del producto y permitir eliminar ese producto de la base de datos, mediante la
operación DELETE de MySQL.
Eliminación de productos: Al seleccionarlo aparece el siguiente formulario donde se
captura el código del producto a eliminar, botón para eliminar la información y un link
para regresar al inicio.
Lo anterior se realizó utilizando 1 input tipo texto para capturar el código y un botón
tipo submit para realizar la eliminación del registro.
Al seleccionar el botón “Eliminar”, aparece el siguiente mensaje

Código
<!DOCTYPE html>
<html lang="es">
<head>
<title>Consulta de productos</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Venta productos típicos colombianos">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div id="agrupar">
<div class = "page-header" style="width: 98%; margin:10px 15px 10px 15px;text-align:center; background-color:
#CCCCCC; border: 1px solid; ">
<h1 style="text-align:center; font-size: 3em;">Tienda virtual productos típicos Colombianos</h1>
</div>
<nav class="navbar navbar-inverse" style="width: 98%; margin:10px 15px 10px 15px;">
<ul class="nav navbar-nav">
<li class="active"><a href="../index.html">Inicio</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Administrador
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li class="active"><a href="administracion.html">Administración
Base de Datos</a></li>
<li><a href="eliminar.html">Eliminación de Productos</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Productos
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li class="active"><a href="registro.html">Registro de
productos</a></li>
<li><a href="consulta.html">Consulta de productos</a></li>
<li><a href="actualizar.html">Actualización de productos</a></li>
<li><a href="reportes.html">Reportes especiales</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Operaciones
matemáticas
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="conversion.html">Conversión </a></li>
<li><a href="comparar.html">Comparación de números </a></li>
<li><a href="secuencia.html">Secuencia de números </a></li>
<li><a href="vectormultiplicado.html">Multiplicacion en arreglos
</a></li>
<li><a href="vectorordenado.html">Ordenación de arreglos </a></li>
<li><a href="vectorborrado.html">Eleminación elementos de arreglos
</a></li>
</ul>
</li>
</ul>
</nav>
<div style="width: 50%; margin:0px 15px 0px 15px;text-align:justify; background-color: #CCCCCC">
<div class="container" style="width: 95%">
<h2><p align=center> Formulario para borrar registros de productos</p></h2><br /><br />
</div>
<form class="form-horizontal" action="borrar.php" role="form" method="POST">
<label>Información del producto</label>
<br /><br />
<div class="input">
<label>Código:</label>
<input type="text" class="form-control" style="width: 50%" name="codigo"
placaholder="Ingrese código del producto a consultar">
</div>
<br /><br />
<button type="submit" class="btn btn-default"><b>Eliminar</b></button>

<div class="container" style="width: 95%">


<p align=center> <a href="../index.html"><b>Inicio</b></a></p>
</div>
</form>
</div>
</body>
</html>

PHP

<?php
$servername = "localhost";
$username = "root";
$password = "12345678";
$dbname = "bdunad38";
$codigo = $_POST['codigo'];
// Creaccion de la conexion
$conn = mysqli_connect($servername, $username, $password, $dbname);
// chequeo de la conexion
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// instrucción para borrar registros de la bd
$sql = "DELETE FROM tabla38 WHERE codigo='$codigo'";
if (mysqli_query($conn, $sql)) {
echo "Registro eliminado con exito";
} else {
echo "Error eliminando registro: " . mysqli_error($conn);
}
mysqli_close($conn);
?>

Dentro del menú de reportes especiales, debe permitir generar un informe en PDF de los
productos registrados en la base de datos, mediante el uso de una librería, puede ser
mPDF, FPDF, DomPDF, etc.
Al seleccionar “Reportes especiales”, aparece un formulario, en el cual se utilizó el
manejo de tablas y 2 botones tipo submit para generar el reporte deseado y un link para
regresar a la página de inicio.
Entre los reportes a generar están:
 Archivo plano
 Archivo PDF
Al seleccionar el botón “Archivo plano”, aparece el siguiente formulario

Al seleccionar el botón “Generar archivo” aparece el siguiente mensaje

Resultado archivo texto

Al seleccionar el botón “Archivo PDF”, aparece la siguiente pantalla.


Código Generación Informes
<!DOCTYPE html>
<html lang="es">
<head>
<title>Generación de archivo plano</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Venta productos típicos colombianos">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div id="agrupar">
<div class = "page-header" style="width: 98%; margin:10px 15px 10px 15px;text-align:center; background-color:
#CCCCCC; border: 1px solid; ">
<h1 style="text-align:center; font-size: 3em;">Tienda virtual productos típicos Colombianos</h1>
</div>
<nav class="navbar navbar-inverse" style="width: 98%; margin:10px 15px 10px 15px;">
<ul class="nav navbar-nav">
<li class="active"><a href="../index.html">Inicio</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Administrador
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li class="active"><a href="administracion.html">Administración
Base de Datos</a></li>
<li><a href="eliminar.html">Eliminación de Productos</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Productos
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li class="active"><a href="registro.html">Registro de
productos</a></li>
<li><a href="consulta.html">Consulta de productos</a></li>
<li><a href="actualizar.html">Actualización de productos</a></li>
<li><a href="reportes.html">Reportes especiales</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Operaciones
matemáticas
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="conversion.html">Conversión </a></li>
<li><a href="comparar.html">Comparación de números </a></li>
<li><a href="secuencia.html">Secuencia de números </a></li>
<li><a href="vectormultiplicado.html">Multiplicacion en arreglos
</a></li>
<li><a href="vectorordenado.html">Ordenación de arreglos </a></li>
<li><a href="vectorborrado.html">Eleminación elementos de arreglos
</a></li>
</ul>
</li>
</ul>
</nav>
<div style="width: 50%; margin:0px 15px 0px 15px;text-align:justify; background-color: #CCCCCC">
<div class="container" style="width: 95%">
<h2><p align=center> Formulario para la generación de informes</p></h2><br /><br />
<p>Seleccione el reporte deseado:</p>
<table class="table table-bordered">
<tbody>
<tr>
<td>
<a href="archivo.html"> <p align=center> <button
type="submit" class="btn btn-default"><b>Archivo plano</b></button> </p> </a>
</td>
</tr>
<tr>
<td>
<a href="pdf.php"> <p align=center> <button
type="submit" class="btn btn-default"><b>Archivo PDF</b></button </p> </a>
</td>
</tr>
</tbody>
</table>
</div>
<div class="container" style="width: 95%">
<p align=center> <a href="../index.html"><b>Inicio</b></a></p>
</div>
</body>
</html>

Código Formulario Archivo Plano

<!DOCTYPE html>
<html lang="es">
<head>
<title>Generación de archivo plano</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Venta productos típicos colombianos">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div id="agrupar">
<div class = "page-header" style="width: 98%; margin:10px 15px 10px 15px;text-align:center; background-color:
#CCCCCC; border: 1px solid; ">
<h1 style="text-align:center; font-size: 3em;">Tienda virtual productos típicos Colombianos</h1>
</div>
<nav class="navbar navbar-inverse" style="width: 98%; margin:10px 15px 10px 15px;">
<ul class="nav navbar-nav">
<li class="active"><a href="../index.html">Inicio</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Administrador
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li class="active"><a href="administracion.html">Administración
Base de Datos</a></li>
<li><a href="eliminar.html">Eliminación de Productos</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Productos
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li class="active"><a href="registro.html">Registro de
productos</a></li>
<li><a href="consulta.html">Consulta de productos</a></li>
<li><a href="actualizar.html">Actualización de productos</a></li>
<li><a href="reportes.html">Reportes especiales</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Operaciones
matemáticas
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="conversion.html">Conversión </a></li>
<li><a href="comparar.html">Comparación de números </a></li>
<li><a href="secuencia.html">Secuencia de números </a></li>
<li><a href="vectormultiplicado.html">Multiplicacion en arreglos
</a></li>
<li><a href="vectorordenado.html">Ordenación de arreglos </a></li>
<li><a href="vectorborrado.html">Eleminación elementos de arreglos
</a></li>
</ul>
</li>
</ul>
</nav>
<div style="width: 50%; margin:0px 15px 0px 15px;text-align:justify; background-color: #CCCCCC">
<div class="container" style="width: 95%">
<h2><p align=center> Formulario para crear y leer archivos planos</p></h2><br /><br />
</div>
<form class="form-horizontal" action="archivo.php" role="form" method="POST">
<label>Información del producto</label>
<br /><br />
<div class="input">
<label>Código:</label>
<input type="text" class="form-control" style="width: 50%" name="codigo"
placaholder="Ingrese código del producto">
</div>
<div class="input">
<label>Nombre:</label>
<input type="text" class="form-control" style="width: 50%" name="nombre"
placaholder="Ingrese nombre del producto">
</div>
<div class="input">
<label>Peso:</label>
<input type="text" class="form-control" style="width: 50%" name="peso"
placaholder="Ingrese peso del producto">
</div>
<div class="input">
<label>Marca:</label>
<input type="text" class="form-control" style="width: 50%" name="marca"
placaholder="Ingrese marca del producto">
</div>
<div class="input">
<label>Región de donde proviene:</label>
<input type="text" class="form-control" style="width: 50%" name="region"
placaholder="Ingrese region de donde proviene el producto">
</div>
<br /><br />
<button type="submit" class="btn btn-default"><b>Generar archivo</b></button>

<div class="container" style="width: 95%">


<p align=center> <a href="../index.html"><b>Inicio</b></a></p>
</div>
</form>
</div>
</body>
</html>
PHP

<!DOCTYPE html>
<html lang="es">
<head>
<title>Generación de archivo plano</title> -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Venta productos típicos colombianos">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<?php
$codigo =$_POST['codigo'];
$nombre =$_POST['nombre'];
$peso =$_POST['peso'];
$marca =$_POST['marca'];
$region =$_POST['region'];
?>
<?php
if(!file_exists("$codigo.txt"))
{
if($archivo = fopen("$codigo.txt", "w"))
{
fwrite($archivo, "Codigo: " .$codigo . PHP_EOL);
fwrite($archivo, "Nombre: " .$nombre . PHP_EOL);
fwrite($archivo, "Peso: " .$peso . PHP_EOL);
fwrite($archivo, "Marca: " .$marca . PHP_EOL);
fwrite($archivo, "Región: " .$region . PHP_EOL);
fwrite($archivo, "Fin del registro: " . PHP_EOL);
echo "Archivo creado satisfactoriamente";
fclose($archivo);
}
}
else
echo "Archivo ya existe";
?>
<div class="container">
<table class="table">
<thead>
</thead>
<tbody>
<tr>
<td>
<?php
echo $contenido ."<br/>";
?>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>

Código Formulario PDF

<!DOCTYPE html>
<html lang="es">
<head>
<title>Generación de archivo plano</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Venta productos típicos colombianos">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div id="agrupar">
<div class = "page-header" style="width: 98%; margin:10px 15px 10px 15px;text-align:center; background-color:
#CCCCCC; border: 1px solid; ">
<h1 style="text-align:center; font-size: 3em;">Tienda virtual productos típicos Colombianos</h1>
</div>
<nav class="navbar navbar-inverse" style="width: 98%; margin:10px 15px 10px 15px;">
<ul class="nav navbar-nav">
<li class="active"><a href="../index.html">Inicio</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Administrador
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li class="active"><a href="administracion.html">Administración
Base de Datos</a></li>
<li><a href="eliminar.html">Eliminación de Productos</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Productos
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li class="active"><a href="registro.html">Registro de
productos</a></li>
<li><a href="consulta.html">Consulta de productos</a></li>
<li><a href="actualizar.html">Actualización de productos</a></li>
<li><a href="reportes.html">Reportes especiales</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Operaciones
matemáticas
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="conversion.html">Conversión </a></li>
<li><a href="comparar.html">Comparación de números </a></li>
<li><a href="secuencia.html">Secuencia de números </a></li>
<li><a href="vectormultiplicado.html">Multiplicacion en arreglos
</a></li>
<li><a href="vectorordenado.html">Ordenación de arreglos </a></li>
<li><a href="vectorborrado.html">Eleminación elementos de arreglos
</a></li>
</ul>
</li>
</ul>
</nav>
<div style="width: 50%; margin:0px 15px 0px 15px;text-align:justify; background-color: #CCCCCC">
<div class="container" style="width: 95%">
<h2><p align=center> Formulario para generar archivo PDF</p></h2><br /><br />
</div>
<form class="form-horizontal" action="pdf.php" role="form" method="POST">
<label>Información del producto</label>
<br /><br />
<div class="input">
<label>Código:</label>
<input type="text" class="form-control" style="width: 50%" name="codigo"
placaholder="Ingrese código del producto">
</div>
<div class="input">
<label>Nombre:</label>
<input type="text" class="form-control" style="width: 50%" name="nombre"
placaholder="Ingrese nombre del producto">
</div>
<div class="input">
<label>Peso:</label>
<input type="text" class="form-control" style="width: 50%" name="peso"
placaholder="Ingrese peso del producto">
</div>
<div class="input">
<label>Marca:</label>
<input type="text" class="form-control" style="width: 50%" name="marca"
placaholder="Ingrese marca del producto">
</div>
<div class="input">
<label>Región de donde proviene:</label>
<input type="text" class="form-control" style="width: 50%" name="region"
placaholder="Ingrese region de donde proviene el producto">
</div>
<br /><br />
<button type="submit" class="btn btn-default"><b>Generar PDF</b></button>

<div class="container" style="width: 95%">


<p align=center> <a href="../index.html"><b>Inicio</b></a></p>
</div>
</form>
</div>
</body>
</html>

PHP
<?
require('C:\AppServ\www\tienda_virtual\fpdf\fpdf.php');
date_default_timezone_set("America/Bogota");
$host = "localhost";
$user = "root";
$cont = "12345678";
$db = "bdunad38";
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
/* $pdf->Image('../imagenes/logo.png',10,10,-150); */
$pdf->Ln(20);
$pdf->Cell(90,20,'Fecha: '.date('d.m.Y.H.i.s').'',0);
$pdf->Ln(10);
$pdf->Cell(100,20,utf8_decode('REPORTES INFORMACION DE PRODUCTO EN PDF'));
$pdf->Ln(10);
$pdf->SetFont('Arial','B',8);
$pdf->Cell(20,20,'CODIGO');
$pdf->Cell(23,20,'NOMBRE');
$pdf->Cell(30,20,'PESO');
$pdf->Cell(31,20,'MARCA');
$pdf->Cell(40,20,'REGION');
$pdf->Cell(45,20,'CARACTERISTICA');
$pdf->Ln(10);
$pdf->SetFont('Arial','',8);
// Creaccion de la conexion
$conec = mysqli_connect($host,$user,$cont,$db);
// chequeo de la conexion
if (!$conec) {
die("Connection failed: " . mysqli_connect_error());
}
$query_select = 'SELECT * FROM Tabla38';
$result = mysqli_query($conec,$query_select );
if (mysqli_num_rows($result) > 0) {
while($reg = mysqli_fetch_assoc($result)) {
$pdf->Cell(20,20, $reg['codigo'], 0);
$pdf->Cell(23,20, utf8_decode($reg['nombre']), 0);
$pdf->Cell(30,20, utf8_decode($reg['peso']), 0);
$pdf->Cell(31,20, utf8_decode($reg['marca']), 0);
$pdf->Cell(40,20, utf8_decode($reg['region']), 0);
$pdf->Cell(45,20, utf8_decode($reg['caracteristica']), 0);
$pdf->Ln(10);
}
}
$pdf->Output();
?>
Conclusiones

Por medio de esta actividad aprendimos sobre todo lo relacionado al manejo de base de datos
en PHP y MySQL; como crear bases de datos, tablas y las diferentes instrucciones SQL
necesarias para la manipulación de la información en la base de datos. Además nos permitió
aprender sobre el manejo de las librerías PDF para la generación de los reportes y forma para
realizar las copias de respaldo en MySQL.

Para el desarrollo de este tipo de actividad se requiere de una gran responsabilidad,


dedicación y compromiso para lograr cumplir a satisfacción con los objetivos propuestos, ya
que son temas en algunos casos de difícil comprensión y por ende se requiere de más esfuerzo
y tiempo.

Identificamos el manejo de algunos arreglos para proceso aplicados en la programación de


sitios web.
Bibliografía

Hilarion Novoa, F. (2016). Conexión Base de datos php. [Archivo de video]. Recuperado
de http://hdl.handle.net/10596/9096

Puentes Andradre, O., Robles, Y., Hilarión Novoa, F. y Salazar Zúñiga, J. (2016).
Programación de sitios web - php. Bogotá, Colombia: UNAD. Recuperado de
http://hdl.handle.net/10596/9083

Río, M. Á. D. (2012). Manual PHP 6.0: formación para el empleo. Madrid, ES: Editorial
CEP, S.L.. Recuperado de
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=10741393
&ppg=8

Vaswani, V. (2008). PHP Soluciones de programación. México, D.F., MX: McGraw-Hill


Interamericana. Recuperado de
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=10433823
&ppg=6

Вам также может понравиться