1. Entorno
- NetBeans IDE 6.9.1
- WampServer 2.1.
2. Introducción
En esta parte mostraremos los formularios con la cual es usuario interactuara con el sistema. Y veremos cómo crear un reporte en Excel con PHP3. Desarrollo
3.1. Crear Carpeta
Vamos a crear una carpeta que se llamara "Include", en esta carpeta pondremos los archivos que serán comunes para todas las paginas en PHP. Como por ejemplo el menú de opciones del sistema. Y en esa carpeta crearemos un archivo que se llamara "Cabezera.php"
Y el archivo tendrá el siguiente código fuente:
<h1>Programando - Carrito Compras con PHP</h1>
<div>
<a href="index.php">Inicio</a> |
<a href="registrarProducto.php">Registrar Producto</a> |
<a href="registrarVenta.php">Registrar Venta</a> |
<a href="verVenta.php">Consultar Ventas</a> |
<a href="reporteVentas.php">Reporte Producto</a>
</div>
<br>
3.2. Archivo index.php
En este archivo mostraremos todos los productos que tenemos en el sistema. Y tendrá el siguiente código
<?php
include_once 'CapaDatos/Producto.php';
$pro = new Producto();
$lista = $pro->buscarProductoTodos();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Programando con Café - Carrito de compras con PHP</title>
</head>
<body>
<?php include_once 'Include/Cabezera.php'; ?>
<div>
<table border="1">
<tr style="background-color: chocolate">
<td colspan="4" >Listado Producto</td>
</tr>
<tr style="background-color: chocolate">
<td>Código</td>
<td>Nombre</td>
<td>Precio</td>
<td>Proceso</td>
</tr>
<?php
if(count($lista)>0){
for($i=0;$i<(count($lista));$i++) {
$dirModifica="modificarProducto.php?codigoProducto=".$lista[$i]['codigoProducto'];
$dirAnadir="anadirCarrito.php?codigoProducto=".$lista[$i]['codigoProducto'];
?>
<tr>
<td><?php echo ($lista[$i]['codigoProducto']);?></td>
<td><?php echo ($lista[$i]['nombre']);?></td>
<td><?php echo ($lista[$i]['precio']);?></td>
<td><a href="<?php echo $dirModifica;?>">Modificar</a> |
<a href="<?php echo $dirAnadir;?>">Añadir</a>
</td>
</tr>
<?php
}
}
?>
</table>
</div>
</body>
</html>
3.3. Archivo registrarProducto.php
Este archivo PHP es el encargado de mostrar al usuario el formulario para registrar los productos a la base de datos. Su código html es el siguiente
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Programando con Café - Carrito de compras con PHP</title>
</head>
<body>
<?php include_once 'Include/Cabezera.php'; ?>
<form method="post" action="CapaNegocios/Prod_RegistrarProducto.php">
<div>
<table border="1">
<tr>
<td>Nombre</td>
<td><input type="text" name="txtNombre" value="" /></td>
</tr>
<tr>
<td>Precio</td>
<td><input type="text" name="txtPrecio" value="0" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Registrar" name="btnRegistrar" /></td>
</tr>
</table>
</div>
</form>
</body>
</html>
3.4. Archivo modificarProducto.php
Este archivo recibe el código del producto por medio del archivo "index.php". Muestra la información del producto que deseamos modificar y nos permite editar su información
<?php
include_once 'CapaDatos/Producto.php';
$pro = new Producto();
$pro->setCodigoProducto($_REQUEST['codigoProducto']);
$lista = $pro->buscarProducto();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Programando con Café - Carrito de compras con PHP</title>
</head>
<body>
<?php include_once 'Include/Cabezera.php'; ?>
<form method="post" action="CapaNegocios/Prod_ModificarProducto.php">
<div>
<table border="1">
<tr>
<td>Codigo</td>
<td><input type="text" name="txtCodigo" value="<?php echo ($lista[0]['codigoProducto']);?>" readonly /></td>
</tr>
<tr>
<td>Nombre</td>
<td><input type="text" name="txtNombre" value="<?php echo($lista[0]['nombre']);?>" /></td>
</tr>
<tr>
<td>Precio</td>
<td><input type="text" name="txtPrecio" value="<?php echo($lista[0]['precio']);?>" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Actualizar" name="btnActualizar" /></td>
</tr>
</table>
</div>
</form>
</body>
</html>
3.5. Archivo anadirCarrito.php
Este formulario recibe el código del producto que deseamos añadir al carrito de compras desde la pagina "index.php". Muestra toda la información del producto y nos pide la cantidad que deseamos añadir al carrito. Su codigo fuente es el siguiente
<?php
include_once 'CapaDatos/Producto.php';
$pro = new Producto();
$pro->setCodigoProducto($_REQUEST['codigoProducto']);
$lista = $pro->buscarProducto();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Programando con Café - Carrito de compras con PHP</title>
</head>
<body>
<?php include_once 'Include/Cabezera.php'; ?>
<form action="registrarVenta.php" method="post">
<div>
<table border="1">
<tr>
<td>Codigo</td>
<td><input type="text" name="txtCodigo" value="<?php echo ($lista[0]['codigoProducto']);?>" readonly /></td>
</tr>
<tr>
<td>Nombre</td>
<td><input type="text" name="txtNombre" value="<?php echo($lista[0]['nombre']);?>" readonly /></td>
</tr>
<tr>
<td>Precio</td>
<td><input type="text" name="txtPrecio" value="<?php echo($lista[0]['precio']);?>" readonly /></td>
</tr>
<tr>
<td>Cantidad Pedir</td>
<td><input type="text" name="txtCantidad" value="0" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Añadir" name="btnAnadir" /></td>
</tr>
</table>
</div>
</form>
</body>
</html>
3.6. Archivo registrarVenta.php
Este archivo es el encargado de mostrar al usuario el formulario para concluir la venta. Lo que hace es traer todos los productos que están en sesión y mostrarlos en una tabla, para que asi veamos todos los productos que tenemos en el carrito de compras y poder decirle que lo registra a la base de datos
<?php
session_start();
session_register('itemsEnCesta');
//Estableciendo los datos al carrito
$codigo = $_REQUEST['txtCodigo'];
$nombre = $_REQUEST['txtNombre'];
$cantidad = $_REQUEST['txtCantidad'];
$pu = $_REQUEST['txtPrecio'];
$parcial = ($cantidad * $pu);
$descuento = 0;
if ($parcial > 50) {
$descuento = ($parcial * 0.05);
}
$itemsEnCesta = $_SESSION['itemsEnCesta'];
if ($codigo) {
if (!isset($itemsEnCesta)) {
$itemsEnCesta[$codigo] = array("codigo" => $codigo,
"nombre" => $nombre,
"cantidad" => $cantidad,
"pu" => $pu,
"parcial" => $parcial,
"descuento" => $descuento,
"subtotal" => ($parcial - $descuento));
} else {
$itemsEnCesta[$codigo] = array("codigo" => $codigo,
"nombre" => $nombre,
"cantidad" => $cantidad,
"pu" => $pu,
"parcial" => $parcial,
"descuento" => $descuento,
"subtotal" => ($parcial - $descuento));
}
}
$_SESSION['itemsEnCesta'] = $itemsEnCesta;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Programando con Café - Carrito de compras con PHP</title>
</head>
<body>
<?php include_once 'Include/Cabezera.php'; ?>
<div>
<form action="CapaNegocios/Vent_RegistrarVenta.php" method="post">
<table border="1">
<tr style="background-color: chocolate">
<td colspan="6" >Carrito de Compras</td>
</tr>
<tr style="background-color: chocolate">
<td>Cliente</td>
<td colspan="5" ><input type="text" name="txtCliente" value="" /></td>
</tr>
<tr style="background-color: chocolate">
<td>Nombre</td>
<td>Cantidad</td>
<td>Precio</td>
<td>Parcial</td>
<td>Descuento</td>
<td>Sub.Total</td>
</tr>
<?php
if (isset($itemsEnCesta)) {
foreach ($itemsEnCesta as $k => $v) {
?>
<tr>
<td><?php echo ($v['nombre']); ?></td>
<td><?php echo number_format(($v['cantidad']), 2); ?></td>
<td><?php echo number_format(($v['pu']), 2); ?></td>
<td><?php echo number_format(($v['parcial']), 2); ?></td>
<td><?php echo number_format(($v['descuento']), 2); ?></td>
<td><?php echo number_format(($v['subtotal']), 2); ?></td>
</tr>
<?php
}
}
?>
<tr style="background-color: chocolate">
<td colspan="6" ><input type="submit" value="Registrar Venta" name="btnRegistrarVenta" /></td>
</tr>
</table>
</form>
</div>
</body>
</html>
3.6. Archivo verVenta.php
Este archivo nos permite ver todas las ventas en formato HTML. Su código seria el siguiente
<?php
include_once 'CapaDatos/Venta.php';
$ven = new Venta();
$lista = $ven->buscarVenta();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Programando con Café - Carrito de compras con PHP</title>
</head>
<body>
<?php include_once 'Include/Cabezera.php'; ?>
<div>
<table border="1">
<tr style="background-color: chocolate">
<td>Código</td>
<td>Cliente</td>
<td>Producto</td>
<td>Precio</td>
<td>Cantidad</td>
<td>Parcial</td>
<td>Descuento</td>
<td>Sub. Total</td>
<td>Total</td>
</tr>
<?php
if(count($lista)>0){
for($i=0;$i<(count($lista));$i++) {
?>
<tr>
<td><?php echo ($lista[$i]['CodigoVenta']);?></td>
<td><?php echo ($lista[$i]['Cliente']);?></td>
<td><?php echo ($lista[$i]['Nombre']);?></td>
<td><?php echo number_format(($lista[$i]['Precio']),2);?></td>
<td><?php echo number_format(($lista[$i]['Cantidad']),2);?></td>
<td><?php echo number_format(($lista[$i]['Parcial']),2);?></td>
<td><?php echo number_format(($lista[$i]['Descuento']),2);?></td>
<td><?php echo number_format(($lista[$i]['SubTotal']),2);?></td>
<td><?php echo number_format(($lista[$i]['TotalPagar']),2);?></td>
</tr>
<?php
}
}
?>
</table>
</div>
</body>
</html>
3.7. Archivo reporteVentas.php
Este archivo PHP nos permite crear un reporte en Excel. Su código fuente es el siguiente
<?php
header('Content-type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename=reporteVentas.xls');
header('Pragma: no-cache');
header('Expires: 0');
include_once 'CapaDatos/Venta.php';
$ven = new Venta();
$lista = $ven->buscarVenta();
?>
<table border="1">
<tr >
<td style="background-color: chocolate">Cod</td>
<td style="background-color: chocolate">Cliente</td>
<td style="background-color: chocolate">Producto</td>
<td style="background-color: chocolate">Precio</td>
<td style="background-color: chocolate">Cantidad</td>
<td style="background-color: chocolate">Parcial</td>
<td style="background-color: chocolate">Descuento</td>
<td style="background-color: chocolate">Sub. Total</td>
<td style="background-color: chocolate">Total</td>
</tr>
<?php
if (count($lista) > 0) {
for ($i = 0; $i < (count($lista)); $i++) {
?>
<tr>
<td><?php echo ($lista[$i]['CodigoVenta']); ?></td>
<td><?php echo ($lista[$i]['Cliente']); ?></td>
<td><?php echo ($lista[$i]['Nombre']); ?></td>
<td><?php echo number_format(($lista[$i]['Precio']), 2); ?></td>
<td><?php echo number_format(($lista[$i]['Cantidad']), 2); ?></td>
<td><?php echo number_format(($lista[$i]['Parcial']), 2); ?></td>
<td><?php echo number_format(($lista[$i]['Descuento']), 2); ?></td>
<td><?php echo number_format(($lista[$i]['SubTotal']), 2); ?></td>
<td><?php echo number_format(($lista[$i]['TotalPagar']), 2); ?></td>
</tr>
<?php
}
}
?>
</table>
Fin del tutorial
No hay comentarios.:
Publicar un comentario