96 BORRAR productos del CARRITO en el SISTEMA DE VENTAS (PHP y MySql) FullStack

Duración: 9 min
Módulo: 🛒 Lógica del Carrito y Clientes Dinámicos Lección 9 de 16

Descripción

Lección 96: Borrar Productos del Carrito de Compras (FullStack) 🗑️

Este video finaliza la funcionalidad del carrito de compras implementando el controlador de eliminación para que el operador de ventas pueda borrar rápidamente cualquier producto de la tabla temporal tb_carrito.

1. Preparación del Formulario y Datos a Enviar 📤

La eliminación de cada producto se realiza a través de su formulario individual, contenido en cada fila de la tabla del carrito (create.php):

  1. Controlador de Eliminación: El atributo action del formulario se dirige al nuevo controlador borrar_carrito.php dentro de la ruta de ventas [01:35].
  2. Método de Envío: Se utiliza el método POST para enviar el formulario [01:47].
  3. Identificador Único: Para saber qué producto eliminar, se necesita el ID único del registro del carrito (ID_carrito) [02:24]. Este valor se recupera dentro del bucle foreach y se almacena en un campo de input oculto (hidden) dentro del formulario [03:34].
    • El campo oculto lleva el name ID_carrito para ser leído por el controlador [03:43].

2. Desarrollo del Controlador (borrar_carrito.php) 🛠️

Se creó el controlador para recibir el ID_carrito y ejecutar la instrucción SQL de eliminación:

  1. Recepción de Variables: Se recibe la variable $ID_carrito enviada por POST [04:19].
  2. Consulta SQL de Eliminación: Se ejecuta la sentencia DELETE [04:47]:

    SQL

    DELETE FROM tb_carrito WHERE id_carrito = :id_carrito

  3. Redirección Rápida: Si la eliminación es exitosa, el controlador no muestra ningún mensaje de confirmación (ya que la acción debe ser rápida), sino que redirecciona inmediatamente a la vista de ventas (create.php) [05:12].

3. Prueba de Funcionalidad y Resultado Final 🧪

La prueba confirma que la acción es instantánea y el cálculo de totales es automático:

  • Al hacer clic en el botón "Borrar" (el icono de la papelera), el producto se elimina de la base de datos y la vista se actualiza automáticamente.
  • La suma de los totales (cantidad total, precio unitario total y precio total) se recalcula inmediatamente al desaparecer el producto de la tabla, gracias a que esta lógica está implementada dentro del ciclo foreach [07:08].

Con esta funcionalidad, el Módulo de Carrito de Ventas queda totalmente terminado en su lógica de agregar, listar, calcular y eliminar productos [09:01].

4. Próximos Pasos ➡️

El siguiente módulo se enfocará en:

  • Datos del Cliente: Implementar un buscador para identificar clientes existentes o registrarlos si son nuevos [09:09].
  • Impresión de Factura: Generar el primer reporte en PDF (la factura de venta) con toda la información del cliente y del carrito [09:24].