106 ACTUALIZANDO STOCK y GUARDAR VENTA en el SISTEMA DE VENTAS (PHP y MySql) FullStack
Duración: 17 min¡Contenido Exclusivo!
Adquiere este curso para tener acceso inmediato a esta y a **todas las lecciones Premium**.
Inscribirse Ahora por $10.00 Acceso instantáneo de por vida y código fuente incluido.Descripción
Lección 106: Guardar Venta y Actualizar Stock (FullStack) 💾🛒
Este video completa la transacción de venta, asegurando que la venta se registre y que el inventario se actualice correctamente en una sola operación controlada.
1. Extracción y Preparación del ID del Producto 🏷️
Para poder actualizar el stock de cada producto en el bucle, era necesario obtener el ID del producto en cada iteración:
- Inclusión en Consulta: Se modificó la consulta PHP que carga el carrito para incluir el campo pro.ID_producto [03:12].
- Campo Oculto (hidden): Se agregó un campo input oculto con el ID dinámico (ID_producto + $contador_carrito) para almacenar el ID de cada producto [04:41].
- Lectura en Bucle for: Dentro del bucle de JavaScript, se lee el ID del producto (ID_producto) para enviarlo como condición (WHERE) en la consulta UPDATE del stock [05:27].
Una vez verificados todos los datos esenciales (ID del Producto, Stock Calculado), los campos de prueba (input visibles) se ocultaron definitivamente con type="hidden" [07:44].
2. Implementación del Controlador de Actualización de Stock 🛠️
Se creó el nuevo controlador actualizar_stock.php que recibe el ID del producto y el nuevo stock calculado por el frontend:
- Llamada AJAX: Dentro del bucle for de JavaScript, se realiza una llamada AJAX (url_2) al nuevo controlador actualizar_stock.php en cada iteración [08:38].
- Datos Enviados (GET): Se envían solo el ID_producto y el stock_calculado [09:35].
- Consulta SQL (UPDATE): El controlador ejecuta una sentencia UPDATE contra la tabla tb_almacen [11:07]:
- Acción: Se actualiza el campo stock con el valor de stock_calculado.
- Condición: WHERE ID_producto = ID_producto [12:01].
3. Ejecución de la Transacción Final 🏁
Se reordenaron las funciones en el controlador principal (registro_de_ventas.php) para asegurar la secuencia correcta de la transacción:
- Actualizar Stock: Primero se llama a la función de actualización del stock [14:38]. Este proceso, ejecutado desde el frontend, actualiza los registros de inventario.
- Guardar Venta: Luego se llama a la función guardar_venta() [14:47]. Esta acción finaliza la transacción en la base de datos registrando la venta.
Resultado: Se demostró que al realizar una venta:
- La cantidad en el inventario (tb_almacen) se descuenta correctamente (ej. 100 pasa a 98, 50 pasa a 48) [13:54].
- La venta se registra exitosamente en la tabla tb_ventas y el carrito se vacía [14:57].
Próximo Paso: El sistema ahora está listo para generar reportes y facturas. El siguiente video se enfocará en la generación de facturas en formato PDF utilizando la librería TCPDF.
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! ❤️