50 Cargar DATOS DE PRODUCTO con TABLAS RELACIONADAS del Sistema de Ventas con (PHP y MySql)FullStack
Duración: 13 minDescripción
Lección 50: Carga de Datos de Producto con Tablas Relacionadas (Módulo Compras) 🔗📦
Este video se enfoca en resolver el problema de mostrar solo IDs numéricos en la tabla de listado de compras (vistas/compras/index.php). El objetivo es reemplazar esos IDs por la información legible (nombres, códigos, etc.) del Producto y, en futuras lecciones, de los Proveedores y Usuarios, utilizando consultas SQL con INNER JOIN.
1. ⚙️ Relacionamiento de Tablas (Controlador)
La mejora comienza en el controlador listado_compras.php [00:52]:
- Alias para la Tabla tb_compras: Se asigna el alias c a la tabla tb_compras para simplificar la consulta: SELECT * FROM tb_compras AS c.
Uso de INNER JOIN: Se relaciona la tabla tb_compras con la tabla tb_almacen (que contiene los productos) [01:55]:
SQL
INNER JOIN tb_almacen AS pro ON c.id_producto = pro.id_producto
- Esto asegura que solo se traigan las compras que tienen un producto registrado.
2. 📝 Selección de Campos de Producto
Para evitar ambigüedades, en lugar de SELECT *, se seleccionan explícitamente los campos necesarios de la tabla tb_almacen (usando el alias pro), y se les asigna un nuevo alias para usarlos fácilmente en la vista [03:16]:
- pro.codigo como codigo
- pro.nombre como nombre_producto
- pro.descripcion como descripcion
- pro.stock como stock_producto
- Y otros campos del producto como stock_minimo, stock_maximo, precio_venta, e imagen [06:05].
3. 🖼️ Actualización de la Vista (Tabla y Modal)
En la vista index.php, se sustituye el id_producto por el campo codigo y nombre_producto [04:15]. Para manejar la gran cantidad de datos de producto sin sobrecargar la tabla, se implementa una solución con un Modal de Visualización:
- Botón en la Fila: La columna "Producto" ahora contiene un botón que tiene como texto el nombre del producto (nombre_producto) [09:50].
- Modal de Detalles: Este botón activa un nuevo modal (modal-producto-IDCompra) que se genera de forma única para cada fila de la tabla [10:28].
- Propósito del Modal: El modal se titula "Datos del Producto" y su única función es mostrar toda la información detallada (código, descripción, stocks, precios) del producto asociado a esa compra, sin permitir edición (a diferencia del modal de Update) [12:35].
4. Próxima Lección
La siguiente fase se centrará en aplicar la misma técnica de INNER JOIN para relacionar la tabla de Compras con la de Proveedores y Usuarios, y así mostrar sus nombres legibles en la tabla de listado [15:32].
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! ❤️