34 – CONTROLLER DELETE ROLES desde la TABLA de la BASE de DATOS (👨💻PHP y MYSQL💻)

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

Descripción

Lección 34 – CONTROLLER DELETE ROLES desde la TABLA de la BASE de DATOS (👨💻PHP y MYSQL 💻)

En esta lección, explorarás la segunda forma (y a menudo preferida) de gestionar la eliminación de roles en tu Sistema de Parqueo: la eliminación lógica. ♻️ Tu instructor te guiará para que, en lugar de borrar registros de roles de la base de datos permanentemente, simplemente cambies su estado a "inactivo", preservando la información para futuras auditorías o posibles reactivaciones.

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

  • Comprender la Eliminación Lógica de Roles vs. Física 💡
    • Entenderás la diferencia clave entre eliminar un rol físicamente de la base de datos (como se podría hacer en otros contextos) y realizar una eliminación lógica, que solo marca el registro del rol como inactivo. La eliminación lógica es valiosa para mantener un historial completo de roles y evitar la pérdida accidental de datos, lo cual es útil para la gestión de permisos.
  • Adaptar el Controlador de Eliminación (control_delete_rol.php) ⚙️
    • Reutilizarás y modificarás el controlador control_delete_rol.php (que habrías creado para la eliminación física) para implementar esta nueva y más segura lógica de eliminación.
  • Diseñar la Consulta SQL para la Eliminación Lógica de Roles 📝
    • En lugar de un DELETE FROM, crearás una sentencia SQL UPDATE. Esta consulta modificará el campo estado del rol a 0 (inactivo) y actualizará la fh_eliminacion (fecha y hora de la eliminación lógica), todo esto filtrado por el id del rol.
  • Recibir el ID del Rol y Validar 📥
    • Al igual que en la eliminación física, el controlador recibirá el id del rol a través del método POST y realizará validaciones para asegurar que el valor sea válido y que el rol exista.
  • Ejecutar la Consulta UPDATE y Confirmar el Cambio de Estado 🚀
    • Utilizarás la conexión PDO para preparar y ejecutar la consulta UPDATE.
    • Después de la actualización exitosa (cambio de estado), redirigirás al usuario de vuelta a la página de "Listado de Roles" (index.php).
  • Gestión de Mensajes de Éxito y Error 💬
    • El controlador seguirá enviando mensajes de éxito (ej. "Rol Eliminado Correctamente" o "Rol Desactivado Correctamente") o de error (ej. "Error al Eliminar el Rol") mediante alertas de JavaScript, que se mostrarán en la vista del listado.
  • Actualizar el control_read_rol.php para Filtrar Roles Activos 📊
    • Modificarás la consulta SELECT en control_read_rol.php (el controlador de lectura de roles) para que, en el futuro, solo muestre a los roles cuyo estado sea 1 (activo). Esto asegurará que los roles "eliminados lógicamente" no aparezcan en el listado visible, pero sigan existiendo en la base de datos para fines de registro.

Al finalizar esta lección, habrás implementado una estrategia de eliminación de roles más segura y flexible en tu Sistema de Parqueo. La eliminación lógica te permite mantener un registro completo de tus roles de usuario mientras presentas una lista limpia de aquellos que están activos. ¡Tu sistema ahora es más robusto en la gestión de permisos! 💪