Parte 1 – Confirmar Pedido
La Base de datos – Tabla pedidos_usuarios
- id_pedido: Es un campo compuesto por el id_usuario – un valor aleatorio que generamos al momento de inciar session, sin embargo la parte aleatoria de este valor cambia cuando confirmamos un pedido.
- id_usuario: Es el numero de usuario, este valor lo tenemos siempre disponible cuando iniciamos session en la aplicación
- status: Contendra un valor default «1» siendo este un pedido confirmado, lo cambiamos a «2» cuando el pedido este pagado en caja y luego a «3» cuando el pedido este en proceso, a «4» cuando el pedido este listo y finalmente a «5», en caso de que un pedido se cancele por parte del usuario o del administrador, pasaremos el valor a «0».
- Creado y actualizado: Son campos que nos servirán para, hacer cálculos y reportes sobre los pedidos.
carrito.php – Añadimos el botón de confirmar orden o pedido
El botón Confirmar orden, se añade como un nuevo renglón, al final de la tabla de carrito.php, así como la llamada al método confirmarPedidoControlador()
Método confirmarPedidoControlador() – ControladorPedidos
Método confirmarPedidoModelo() – ModeloPedidos
- Acción 1: Aquí consultamos de la tabla carrito, los registros que coinciden con el id_usuario del cual estamos trabajando.
- Acción 2: Aquí , obtenemos un valor RANDOM, el cual se genero de forma global cuando iniciamos SESSION (pasamos por login.php), y para cada registro que esta en la tabla carrito (esta tabla es temporal para todos los usuarios, antes de confirmar sus compras), obtenemos la información y la utilizamos para pasarla a una tabla permanente, llamada pedidos_usuarios, noten que tenemos un campo id_pedido, es cual esta descrito al inicio de esta entrada. En este punto tendremos una «COPIA» de carrito en la tabla pedidos_usuarios.
- Acción 3: Aquí borramos de la tabla carrito todos los registros asociados al id_usuario actual, es decir, vaciamos el carrito.
- Acción 4: Finalmente el valor RANDOM lo cambiamos por uno nuevo, de manera que en la misma sesión el usuario pueda hacer varios pedidos.
Un ejemplo de como se veŕa la tabla de pedidos_usuarios
Parte 2 – Imprimir recibo
Para imprimir recibo será necesario crear una vista de BD que nos permita unir la información del producto, con la información de la tabla pedidos_usuarios, que es muy similar a la que utilizamos para ver el carrito.
**** Nota: No inclui en la vista la información del usuario, puesto que ya tengo el id_usuario en la tabla de pedidos_usuarios, y ademas la tengo en la SESSION del usuario activo.
Con esta información, ya podremos trabajar en la sección RESUMEN que comentamos en la Parte 1 de esta entrada. Aquí les dejo la imagen nuevamente de como llegaremos a la sección de RESUMEN
resumen.php
Corrección, Método pendiente.
Método getUltimoPedidoUser()
Método getPedidoUsuario()
De aquí en adelante ya todo se queda como lo teníamos.
imprimir_pedido.php
TCPDF
Una vez que descargan y descomprimen el TCPDF.zip, deben colocarlo en la también en la raíz de su proyecto, como muestro a continuación:
imprimir_pedido.php – Imagen 1
imprimir_pedido.php – Imagen 2
imprimir_pedido.php – Imagen 3
imprimir_pedido.php – Imagen 4
imprimir_pedido.php – Imagen 5
En este punto prácticamente ya podemos estar imprimiendo nuestros pedidos para cada usuario.
En las siguientes entradas , estaré trabajando con los siguientes detalles:
- Sección Mis Pedidos
- Sección para ver detalle de pedidos activos
- Sección interna para ver detalle de pedidos históricos
- Sección Administración de pedidos
- Sección para mostrar a los clientes el STATUS de sus pedidos
- Sección para editar el STATUS de de los pedidos
- Sección con distintos tipos de reportes impresos.
- Entre otras cosas.