24 CONSULTAS CON TABLAS RELACIONADAS INNER JOIN en el Sistema de Ventas con (PHPyMySql) FullStack
Duraci贸n: 20 min
M贸dulo: 馃懁 CRUD de Usuarios y Roles (Seguridad L贸gica)
Lecci贸n 16 de
17
Descripci贸n
Lecci贸n 24: Consultas con Tablas Relacionadas (INNER JOIN) 馃
Esta lecci贸n es fundamental y se centra en c贸mo utilizar la cl谩usula INNER JOIN de SQL para combinar la informaci贸n de la tabla usuarios y la tabla roles en una sola consulta. El objetivo es mostrar el nombre del rol en lugar de solo su ID en las vistas del sistema.
1. 鈿欙笍 Construcci贸n de la Consulta INNER JOIN
Para obtener el nombre del rol junto a los datos del usuario, se debe crear una consulta m谩s compleja:
| Sentencia | Prop贸sito | Detalle |
|---|---|---|
| SELECT | Define qu茅 campos se mostrar谩n. | Se seleccionan campos espec铆ficos (id_usuario, nombres, email) y se selecciona el campo nombre_rol de la otra tabla, d谩ndole el alias rol [05:30]. |
| FROM... AS | Selecciona la tabla principal. | FROM usuarios AS us (Se le da un alias corto a la tabla usuarios para referenciar sus campos f谩cilmente) [02:11]. |
| INNER JOIN | Combina las tablas. | INNER JOIN roles AS rol (Se une con la tabla roles) [02:28]. |
| ON | Define la condici贸n de enlace. | ON us.id_rol = rol.id_rol (La clave for谩nea del usuario se iguala a la clave primaria del rol) [02:48]. |
Resultado: La consulta final proporciona una fila de datos que incluye los campos del usuario y el nombre del rol (vendedor, administrador, etc.) en una 煤nica operaci贸n [06:02].
2. 馃摑 Aplicaci贸n en Vistas de Usuarios
La nueva consulta se aplica a todas las vistas de usuarios que deben mostrar el nombre del rol.
a. Listado de Usuarios (index.php)
- Actualizaci贸n del Controlador: La consulta SELECT * FROM usuarios en el controlador listado_usuarios.php es reemplazada por la nueva sentencia INNER JOIN [06:49].
- Vista de Tabla: Se a帽ade una nueva columna llamada "Rol del Usuario" a la tabla de la vista (index.php) [07:25].
- Mostrar Rol: Dentro del ciclo foreach que genera la tabla, se imprime el valor del rol con la nueva clave obtenida: <?php echo $user_data['rol']; ?> [07:55].
b. Creaci贸n de Usuario (create.php)
- Inclusi贸n de Roles: Se incluye el controlador listado_roles.php dentro de la vista de creaci贸n para obtener todos los roles disponibles [11:08].
- Input <SELECT>: Se reemplaza el antiguo campo de rol por un elemento <SELECT> que hereda estilos de Bootstrap [09:31].
- Llenado Din谩mico: Se usa un ciclo foreach en PHP para llenar el <SELECT> con elementos <option> por cada rol en la base de datos [11:38].
- Valor (value): El atributo value del <option> se establece como el id_rol (el valor que se guardar谩 en la tabla usuarios) [13:57].
- Texto Visible: El texto visible del <option> es el nombre_rol.
- Actualizaci贸n del Controlador de Creaci贸n: El controlador create.php del m贸dulo Usuarios se actualiza para recibir y almacenar el id_rol en la base de datos, enlazando correctamente el nuevo usuario a un rol [14:25].
c. Detalle de Usuario (show.php)
- Consulta Detallada: El controlador de la vista de detalle (show.php) se actualiza con la consulta INNER JOIN [17:48].
- Filtro: Se a帽ade la condici贸n WHERE para filtrar por el ID del usuario espec铆fico que se est谩 visualizando [18:26].
- Visualizaci贸n: Se a帽ade un nuevo campo en la vista para mostrar el rol del usuario [18:46]
Lecciones
馃殌 Preparaci贸n, Login y Sesiones Seguras
Lecci贸n 7. 06 Como DESTRUIR SESION DEL USUARIO en el Sistema de Ventas con(PHP y MySql)FullStack
8 min
Lecci贸n 9. 08 Adaptando nuestra PLANTILLA para el Sistema de Ventas con (PHP y MySql) FullStack
18 min
馃懁 CRUD de Usuarios y Roles (Seguridad L贸gica)
Lecci贸n 2. 10 CRUD - READ lectura de USUARIOS del Sistema de Ventas con (PHP y MySql) FullStack
18 min
Lecci贸n 3. 11 Formulario de NUEVO USUARIO en el Sistema de Ventas con (PHP y MySql) FullStack
11 min
馃摝 Gesti贸n de Productos y Categor铆as
Lecci贸n 1. 26 M脫DULO PRODUCTOS Y CATEGOR脥AS en el Sistema de Ventas con (PHPyMySql) FullStack
18 min
Lecci贸n 3. 28 CRUD - CATEGOR脥AS con MODALS en el Sistema de Ventas con (PHP y MySql) FullStack
20 min
Lecci贸n 14. 39 DELETE PRODUCTOS desde el FORMULARIO del Sistema de Ventas con (PHP y MySql)FullStack
12 min
馃殮 M贸dulo de Proveedores y Configuraci贸n
Lecci贸n 5. 45 ACTUALIZAR PROVEEDORES del Sistema de Ventas con (PHP y MySql) FullStack PARTE 1
14 min
馃挵 Implementaci贸n y Registro del M贸dulo de Compras
Lecci贸n 3. 51 Cargar DATOS DE PRODUCTO en el MODAL del Sistema de Ventas con (PHP y MySql)FullStack
13 min
Lecci贸n 5. 53 CARGAR datos del PROVEEDOR en el MODAl en el SISTEMA DE VENTAS(PHP y MySql)FullStack
15 min
馃攧 Mantenimiento y Actualizaci贸n de Compras
Lecci贸n 4. 69 MOSTRAR EL DETALLE DE LA COMPRA DEL SISTEMA DE VENTAS (PHPyMySql) FullStack PARTE 1
13 min
Lecci贸n 6. 71 ACTUALIZAR DATOS DE LA COMPRA DEL SISTEMA DE VENTAS (PHPyMySql) FullStack PARTE 1
15 min
Lecci贸n 8. 73 CONTROLLER ACTUALIZAR COMPRA EN EL SISTEMA DE VENTAS (PHPyMySql) FullStack PARTE 1
9 min
Lecci贸n 9. 74 CONTROLLER ACTUALIZAR COMPRA EN EL SISTEMA DE VENTAS (PHPyMySql) FullStack PARTE 2
9 min
Lecci贸n 10. 75 CONTROLLER ACTUALIZAR COMPRA EN EL SISTEMA DE VENTAS (PHPyMySql) FullStack PARTE 3
8 min
Lecci贸n 11. 76 CONTROLLER ACTUALIZAR COMPRA EN EL SISTEMA DE VENTAS (PHPyMySql) FullStack PARTE 4
5 min
Lecci贸n 14. 79 CONTROLLER PARA ELIMINAR COMPRA EN EL SISTEMA DE VENTAS (PHPyMySql) FullStack PARTE 3
14 min
Lecci贸n 15. 80 COMMIT PARA COMPARTIR EL CODIGO FUENTE DEL SISTEMA DE VENTAS (PHPyMySql) FullStack
9 min
馃挸 Preparaci贸n para Ventas y Clientes
Lecci贸n 2. 82 Modelo para el CARRITO de VENTAS en el SISTEMA DE VENTAS (PHP y MySql) FullStack
9 min
Lecci贸n 5. 85 Formulario de VENTAS y CARRITO en el SISTEMA DE VENTAS (PHP y MySql) FullStack Parte 1
8 min
Lecci贸n 6. 86 Contador de VENTAS AUTOM脕TICO en el SISTEMA DE VENTAS (PHP y MySql) FullStack Parte 2
8 min
馃洅 L贸gica del Carrito y Clientes Din谩micos
Lecci贸n 8. 95 CALCULANDO LOS TOTALES del CARRITO en el SISTEMA DE VENTAS (PHP y MySql) FullStack
12 min
Lecci贸n 13. 100 CALCULAR el cambio del TOTAL A PAGAR en el SISTEMA DE VENTAS (PHP y MySql) FullStack
8 min
Lecci贸n 14. 101 PREPARANDO DATOS para guardar VENTAS en el SISTEMA DE VENTAS (PHP y MySql) FullStack
9 min
Lecci贸n 15. 102 Agregar NUEVO CLIENTE en VENTAS en el SISTEMA DE VENTAS (PHP y MySql) FullStack
9 min
馃Ь Cierre de Venta y Control de Inventario
Lecci贸n 1. 104 GUARDAR VENTA en la tabla VENTAS en el SISTEMA DE VENTAS (PHP y MySql) FullStack
12 min
Lecci贸n 2. 105 ACTUALIZANDO STOCK segun el CARRITO en el SISTEMA DE VENTAS (PHP y MySql) FullStack
18 min
Lecci贸n 3. 106 ACTUALIZANDO STOCK y GUARDAR VENTA en el SISTEMA DE VENTAS (PHP y MySql) FullStack
17 min
Lecci贸n 5. 108 DATOS COMPLETOS DE LA VENTA GUARDADA en el SISTEMA DE VENTAS (PHP y MySql) FullStack
19 min
Lecci贸n 6. 109 Acci贸n MOSTRAR datos de la VENTA en el SISTEMA DE VENTAS (PHP y MySql) FullStack
8 min
Lecci贸n 7. 110 Acci贸n MOSTRAR datos de la VENTA en el SISTEMA DE VENTAS (PHP y MySql) FullStack
10 min
Lecci贸n 8. 111 Acci贸n DELETE datos de la VENTA en el SISTEMA DE VENTAS (PHP y MySql) FullStack
10 min
Lecci贸n 12. 115 Controller BORRAR venta y carrito en el SISTEMA DE VENTAS (PHP y MySql) FullStack
13 min
馃搫 Facturaci贸n Profesional (TCPDF) y Dashboard Final
Lecci贸n 1. 118 Dise帽ando el encabezado de la FACTURA en el SISTEMA DE VENTAS (PHP y MySql) FullStack
10 min
Lecci贸n 2. 119 Dise帽ando el encabezado de la FACTURA en el SISTEMA DE VENTAS (PHP y MySql) FullStack
10 min
Apoya este proyecto
Si te gusta nuestro contenido, 隆ap贸yanos con una donaci贸n!
Donar por Airtm Donar por Binance隆Gracias por tu apoyo! 鉂わ笍