22 CRUD - ROLES en el Sistema de Ventas con (PHPyMySql) FullStack

Duración: 15 min
Módulo: 👤 CRUD de Usuarios y Roles (Seguridad Lógica) Lección 14 de 17

Descripción

Lección 22: CRUD - Implementación del Módulo Roles (CREATE y READ) 🛠️

Esta lección se enfoca en el desarrollo de las primeras funcionalidades CRUD (Crear y Leer) para el nuevo módulo de Roles, utilizando como base la estructura ya desarrollada para el módulo de Usuarios.

1. 📋 Lectura (READ): Listado de Roles

El listado de roles se construye copiando y adaptando la vista de index.php del módulo Usuarios:

  • Creación del Controlador: Se crea un nuevo controlador (listado_roles.php) en la carpeta /controllers/roles [02:47].
  • Consulta SQL: Este controlador ejecuta una consulta simple (SELECT * FROM roles) para obtener todos los roles registrados en la base de datos [03:34].
  • Adaptación de la Vista:
    • El título se cambia a "Listado de Roles" [04:23].
    • La tabla se ajusta para mostrar únicamente las columnas "Nro." y "Nombre del Rol", ya que en la tabla roles solo se registra el nombre.
    • La lógica del bucle foreach se modifica para iterar sobre la variable $roles_datos y mostrar el campo nombre_rol [05:18].
  • Acciones: Se mantiene la acción de Editar (Update), pero se omite la acción de Eliminar (Delete), ya que la eliminación de roles está restringida por la clave foránea implementada en la lección anterior [05:03].

2. ➕ Creación (CREATE): Registro de Roles

La funcionalidad para registrar un nuevo rol se implementa replicando la lógica de creación de usuarios:

a. Vista de Creación (create.php)

  • Se copia el contenido de create.php del módulo Usuarios [07:05].
  • Ajustes de Interfaz:
    • El título se cambia a "Registro de un Nuevo Rol" [07:46].
    • El formulario se simplifica para contener un solo campo de input: el nombre del rol [08:24].
    • La acción del formulario apunta al nuevo controlador de creación: /controllers/roles/create.php [07:59].

b. Controlador de Creación (create.php)

  • Se copia el controlador de creación de usuarios y se ajusta para los roles [09:37]:
    • Recepción de Datos: Solo se recibe la variable $rol enviada por POST.
    • Sentencia SQL: Se modifica la sentencia INSERT para insertar en la tabla roles, incluyendo solo los campos nombre_rol y fecha_hora_create [10:33].
    • Gestión de Mensajes: Se utiliza la lógica de sesiones y el icono success o error para notificar el resultado al usuario [11:34].

Con la implementación de CREATE y READ, el módulo de Roles permite registrar y visualizar nuevos roles en el sistema de manera rápida [13:41].