91 Controller REGISTRAR CARRITO de productos en el SISTEMA DE VENTAS (PHP y MySql) FullStack

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

¡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 91: Controlador para Registrar Productos en la Tabla CARRITO (FullStack) 💾

Este video implementa el controlador (registrar_carrito.php) encargado de recibir los datos del formulario de ventas y realizar la inserción del producto en la tabla temporal tb_carrito de la base de datos.

1. Configuración de JavaScript (AJAX) 🌐

Se modificó el script de JavaScript para enviar los datos al controlador mediante una solicitud AJAX, una vez que todas las validaciones (ver Lección 90) han sido superadas [01:05]:

  • Ruta del Controlador: La solicitud se dirige al nuevo archivo registrar_carrito.php dentro del directorio de ventas (app/controller/ventas) [01:40].
  • Datos Enviados: Se envían únicamente los tres campos necesarios para la tabla tb_carrito [02:41]:
    • id_venta
    • id_producto
    • cantidad
  • Manejo de Respuesta: A diferencia de otros módulos, no se utiliza una alerta para la respuesta exitosa. En su lugar, el controlador debe redireccionar al mismo formulario de ventas (create.php) para actualizar la vista sin notificaciones de éxito, optimizando la velocidad para el operario [06:26].

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

Se creó el archivo registrar_carrito.php tomando como base la estructura de otros controladores (create) para manejar la conexión y la inserción de datos [03:52]:

  1. Recepción de Variables: Se reciben las variables id_venta, id_producto y cantidad enviadas por AJAX [04:07].
  2. Consulta SQL de Inserción: Se construye y ejecuta la consulta SQL para guardar el registro en la tabla tb_carrito [04:54]:

    SQL

    INSERT INTO tb_carrito (id_venta, id_producto, cantidad, fyh_creacion) VALUES (:id_venta, :id_producto, :cantidad, :fyh_creacion)

    • La fecha y hora de creación (fyh_creacion) se obtienen automáticamente de un archivo de configuración (config.php) [06:05].
  3. Redirección: Si la inserción es exitosa, el controlador no muestra ningún mensaje (para agilizar el proceso), sino que redirecciona inmediatamente de vuelta al formulario de ventas (create.php), preparando el sistema para el siguiente registro o la confirmación visual en la tabla [06:39].

3. Prueba de Funcionalidad y Resultado 🧪

La prueba final del video demuestra la inserción exitosa: al seleccionar un producto, ingresar la cantidad (ej. 2 unidades de "Coca-Quina") y hacer clic en "Registrar", la información se inserta en la tabla tb_carrito de la base de datos [07:27].

  • Siguiente Paso: El próximo video se centrará en hacer que la tabla del carrito en la vista (create.php) se cargue automáticamente y muestre los datos recién insertados de tb_carrito para la venta actual, además de implementar la lógica de cálculo [07:10].