92 Modificando tabla CARRITO para el REGISTRO en el SISTEMA DE VENTAS (PHP y MySql) FullStack
Duraci贸n: 6 minDescripci贸n
Lecci贸n 92: Modificaci贸n de la Tabla CARRITO para el Registro de Ventas (FullStack) 馃敡馃洅
Este video aborda y soluciona un error clave de l贸gica en el modelo de base de datos que imped铆a la correcta inserci贸n de productos en la tabla tb_carrito. El problema principal era la dependencia de la clave for谩nea ID_venta, ya que el registro en tb_carrito ocurre antes de que la venta final exista en la tabla tb_ventas.
1. Soluci贸n del Problema de la Clave For谩nea 馃攽
La soluci贸n consisti贸 en reemplazar la relaci贸n estricta de ID_venta con el campo m谩s flexible numero_venta:
- Modificaci贸n de tb_carrito: Se elimin贸 la referencia de clave for谩nea (FK) y se renombr贸 el campo ID_venta a numero_venta (INT) [00:43]. Este campo ahora almacena el n煤mero secuencial de la venta (ej. Venta 1, Venta 2, etc.), que ya es conocido antes de que la venta se guarde.
- Modificaci贸n de tb_ventas: Se agreg贸 un nuevo campo llamado numero_venta (INT) a la tabla tb_ventas [02:16].
- Nueva Relaci贸n: Se cre贸 una nueva relaci贸n (FK) entre el campo numero_venta de la tabla tb_ventas y el campo numero_venta de la tabla tb_carrito [03:12].
Al usar numero_venta en lugar de ID_venta, se permite que los productos del carrito se registren primero, y luego la venta en tb_ventas se puede enlazar usando el mismo n煤mero secuencial.
2. Ajustes en la L贸gica de Inserci贸n (PHP/MySQL) 馃攧
Se actualiz贸 el controlador (registrar_carrito.php) y el script de JavaScript para reflejar el cambio de campo:
- Variables Actualizadas: En lugar de enviar y recibir id_venta, ahora se utiliza la variable numero_venta [03:55].
Consulta SQL: La consulta de inserci贸n en tb_carrito se modific贸 para recibir el numero_venta [04:07]:
SQL
INSERT INTO tb_carrito (numero_venta, id_producto, cantidad, fyh_creacion) VALUES (:numero_venta, :id_producto, :cantidad, :fyh_creacion)
3. Resultado Final de la Inserci贸n 馃И
La prueba de funcionalidad confirm贸 que el registro ahora se realiza correctamente. Al seleccionar un producto y hacer clic en "Registrar", la tabla tb_carrito se llena con [04:46]:
- El n煤mero de venta (ej. 1).
- El ID del producto.
- La cantidad solicitada.
El pr贸ximo paso ser谩 recuperar esta informaci贸n de la tabla tb_carrito y mostrarla autom谩ticamente en la tabla del carrito de la vista create.php, junto con los c谩lculos de subtotales [05:38].
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! 鉂わ笍