32 – LISTADO de ROLES desde la TABLA de la BASE de DATOS (👨💻PHP y MYSQL💻)

Duración: 5 min
Módulo: 👥 Roles de Usuario y Control de Acceso Detallado Lección 4 de 12

Descripción

Lección 32 – LISTADO de ROLES desde la TABLA de la BASE de DATOS (👨💻PHP y MYSQL 💻)

En esta lección esencial, aprenderás a implementar la funcionalidad READ (Lectura) del CRUD para el Módulo de Roles en tu Sistema de Parqueo. 📄 Tu instructor te guiará para mostrar el listado de todos los roles registrados en tu base de datos directamente en una tabla dinámica en el panel de administración.

En esta Lección Estratégica Aprenderás a:

  • Preparar la Vista del Listado de Roles (index.php) ⚙️
    • Iniciarás abriendo el archivo index.php dentro de la carpeta roles (roles/index.php). Esta será la página que contendrá la tabla con el listado de roles.
  • Crear el Controlador para la Lectura de Roles (control_read_rol.php) 📄
    • Dentro de la carpeta roles, crearás un nuevo archivo llamado control_read_rol.php. Este controlador será el encargado de ejecutar la consulta a la base de datos y devolver los datos de los roles.
    • Incluirás el archivo config.php en este controlador para asegurar la conexión a la base de datos y disponer de la variable $url.
  • Diseñar la Consulta SQL para Seleccionar Roles 🔍
    • Escribirás una sentencia SQL SELECT * FROM tabla_roles para obtener todos los campos de todos los roles de la tabla tabla_roles.
    • Aprenderás a probar esta consulta directamente en phpMyAdmin para verificar que devuelve los datos esperados.
  • Ejecutar la Consulta y Obtener los Resultados con PDO 🚀
    • En control_read_rol.php, utilizarás la conexión PDO para:
      • Preparar la consulta SQL con prepare().
      • Ejecutar la consulta con execute().
      • Obtener todos los resultados en un array asociativo con fetchAll(PDO::FETCH_ASSOC).
  • Crear el HTML de la Tabla de Roles 📊
    • En roles/index.php, construirás la estructura de una tabla HTML (<table>) con las clases de Bootstrap (table, table-striped, table-hover, table-bordered, text-nowrap, dataTable) para darle un estilo profesional y responsivo.
    • Definirás el encabezado de la tabla (<thead>) con columnas para "Rol", "Estado" y "Acciones".
  • Poblar la Tabla Dinámicamente con PHP 💻
    • Utilizarás un bucle foreach en PHP para iterar sobre el array de roles obtenido del controlador control_read_rol.php.
    • Dentro del bucle, generarás filas (<tr>) y celdas (<td>) de la tabla HTML, mostrando dinámicamente el nombre del rol y su estado.
    • Implementarás una lógica condicional para mostrar el "Estado" del rol como "Activo" o "Inactivo" con insignias de Bootstrap (<span class="badge badge-success">), añadiendo un toque visual.
    • Añadirás botones de "Editar" y "Eliminar" con iconos de Font Awesome (<i class="fas fa-edit">, <i class="fas fa-trash-alt">), los cuales se vincularán a futuras funcionalidades.
  • Refactorización y Organización del Código del Contenido ✂️
    • Para mantener index.php limpio, la estructura del contenido principal (la tabla de roles) se moverá a un nuevo archivo content.php dentro de app/layouts/admin/roles.
    • roles/index.php simplemente incluirá este content.php, siguiendo la filosofía de código modular y reutilizable.

Al finalizar esta lección, tu Sistema de Parqueo tendrá una sección de administración de roles completamente funcional, capaz de leer y mostrar los datos de los roles de tu base de datos de manera organizada y profesional. ¡Has implementado una parte fundamental del CRUD para la gestión de permisos! 💪