79 CONTROLLER PARA ELIMINAR COMPRA EN EL SISTEMA DE VENTAS (PHPyMySql) FullStack PARTE 3
Duración: 14 minDescripción
Lección 79: Controlador para Eliminar Compra (delete.php) (Parte 3) 🗑️
Este video culmina la funcionalidad de Eliminar Compra, implementando las consultas SQL dentro del controlador delete.php y verificando que la acción se ejecute de manera atómica utilizando transacciones.
1. Configuración del Controlador (delete.php) ⚙️
El controlador delete.php se encargó de recibir los parámetros necesarios y ejecutar dos consultas cruciales:
- Variables Recibidas: Se reciben cuatro parámetros principales mediante el método GET [07:45]:
- ID_compra: El identificador del registro de la compra a eliminar.
- ID_producto: El identificador del producto cuyo stock será modificado.
- cantidad_compra: La cantidad que debe restarse del stock.
- stock_actual: El stock actual en almacén (antes de la operación).
- Transacción (BEGIN/COMMIT/ROLLBACK): Se utilizó la estructura de transacción para garantizar que las dos operaciones (eliminar y actualizar stock) se realicen con éxito o que ambas se reviertan (ROLLBACK) en caso de error [01:41].
2. Lógica de Ejecución (Doble Consulta) 📝
El controlador ejecuta las siguientes operaciones dentro de la transacción:
- Eliminar Compra (DELETE):
- Se ejecuta la consulta DELETE FROM sobre la tabla tabla_compras utilizando el ID_compra como condición WHERE [03:11].
- Consulta: DELETE FROM tabla_compras WHERE ID_compra = :ID_compra
- Cálculo y Actualización de Stock (UPDATE):
Cálculo del Nuevo Stock: Se calcula el nuevo stock en PHP, restando la cantidad comprada eliminada del stock actual [09:45].
Nuevo Stock=Stock Actual−Cantidad Compra
- Actualización en Almacén: Se ejecuta la consulta UPDATE sobre la tabla tabla_almacen para establecer el nuevo valor calculado en el campo stock, utilizando el ID_producto como condición WHERE [10:12].
- Consulta: UPDATE tabla_almacen SET stock = :nuevo_stock WHERE ID_producto = :ID_producto
3. Verificación Final 🚀
La prueba final se realizó con éxito:
- Estado Inicial: El stock del producto era 250 y la compra a eliminar era de 130 unidades.
- Resultado:
Con la implementación de la acción Eliminar, el módulo de Compras tiene todas las funcionalidades de un CRUD completo: Crear (C), Leer/Ver (R), Actualizar (U) y Eliminar (D) [13:24].
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! ❤️