104 GUARDAR VENTA en la tabla VENTAS en el SISTEMA DE VENTAS (PHP y MySql) FullStack
Duraci贸n: 12 minDescripci贸n
Lecci贸n 104: Guardar la Venta en la Tabla de Ventas (FullStack) 馃捑
Este video abord贸 el paso crucial de registrar la venta finalizada en la base de datos y sent贸 las bases para el siguiente paso: la actualizaci贸n del stock de productos vendidos.
1. Creaci贸n del Controlador de Registro de Venta 鈿欙笍
Se implement贸 la l贸gica en el lado del cliente (frontend) y se cre贸 el controlador encargado de recibir los datos:
- Llamada AJAX: Se reemplaz贸 el mensaje de prueba ("Todo OK") con una llamada AJAX (jQuery) que se activa al hacer clic en "Guardar Venta" [00:45].
- Gesti贸n de Transacciones: En el nuevo controlador, se inicializa beginTransaction() [03:44]. Esto es fundamental, ya que el guardado de una venta es una transacci贸n que requiere m煤ltiples consultas (venta, detalles, stock). Si alguna falla, todas deben revertirse (rollback).
2. Registro Inicial en la Tabla tb_ventas 馃Ь
Se ejecuta la primera consulta dentro de la transacci贸n:
- Consulta SQL: Se realiza un INSERT INTO a la tabla tb_ventas [04:00].
- Campos de Registro: Los datos enviados desde el frontend se mapean a las columnas de la tabla [04:10]:
- numero_de_venta
- ID_cliente
- total_pagado (que recibe el valor de total_a_cancelar)
- Resultado de la Transacci贸n:
- 脡xito: Si la inserci贸n es correcta, se ejecuta un commit, se muestra el mensaje "Se registr贸 la venta de la manera correcta", y se redirige a la vista principal de ventas (ventas/index.php) [06:04].
- Error: Si hay un fallo, se ejecuta un rollback y se notifica el error.
- Modularizaci贸n: La l贸gica de registro de la venta se encapsula en una funci贸n llamada guardar_venta() para mantener el c贸digo limpio y organizado [07:41].
3. Preparaci贸n para la Actualizaci贸n del Stock 馃摝
Tras verificar que la venta principal se guarda correctamente [06:31], el foco se mueve a la actualizaci贸n del stock de los productos vendidos:
- Funci贸n actualizar_stock(): Se crea una segunda funci贸n en el controlador donde se manejar谩 la l贸gica de actualizaci贸n [07:55].
- Necesidad de Datos de Stock: Para poder restar la cantidad vendida al stock actual, el script necesita el valor de stock inicial.
- Inclusi贸n del Stock en la Vista:
- Se modifica la consulta SQL en la vista ventas/create.php para seleccionar el campo pro.stock de la tabla de productos [11:58].
- Este valor se imprime en un nuevo campo input oculto dentro del bucle foreach de la tabla de carrito, asegurando que el stock actual de cada producto est茅 disponible y accesible para el script de actualizaci贸n mediante JavaScript [12:11].
Pr贸ximo Paso: El siguiente video se centrar谩 en la implementaci贸n de la funci贸n actualizar_stock() para iterar sobre todos los productos del carrito y descontar la cantidad vendida del stock de almac茅n.
Lecciones
Apoya este proyecto
Si te gusta nuestro contenido, 隆ap贸yanos con una donaci贸n!
Donar por Airtm Donar por Binance隆Gracias por tu apoyo! 鉂わ笍