25 UPDATE Y DELETE de USUARIOS CON ROLES en el Sistema de Ventas con (PHPyMySql) FullStack
Duración: 20 minDescripción
Lección 25: Actualización y Eliminación de Usuarios con Roles ⚙️
Esta lección finaliza el módulo de Usuarios al implementar las funcionalidades de Edición (Update) y Eliminación (Delete), asegurando que el nuevo campo de Rol se maneje correctamente, especialmente en el formulario de edición.
1. 🔄 Edición de Usuarios (UPDATE) con SELECT Dinámico
La principal tarea es modificar la vista de edición para que el usuario pueda cambiar el rol asignado a un usuario de manera sencilla.
a. Modificación de la Vista (update.php)
- Actualización de Consulta: Se utiliza la sentencia INNER JOIN (introducida en la lección anterior) en el controlador update_usuarios.php. Esto permite que la consulta de usuario traiga no solo el id_rol sino también el nombre_rol [01:41].
- Llenado del SELECT:
- El campo de input del rol en el formulario se reemplaza por un elemento <SELECT> y se llena dinámicamente con todos los roles disponibles, incluyendo el id_rol en el atributo value [03:17].
- Opción Seleccionada (Select Dinámico): Se añade una lógica condicional if dentro del bucle foreach que genera los <option>:
- Se compara el nombre del rol que está desplegando el bucle con el nombre del rol actual del usuario (traído por la consulta INNER JOIN) [07:41].
- Si ambos nombres coinciden, se añade el atributo selected="selected" a la etiqueta <option>, haciendo que el rol actual del usuario aparezca preseleccionado en el combobox [08:41].
b. Actualización del Controlador (update.php de Usuarios)
- Recepción de id_rol: El controlador de actualización se modifica para recibir también el valor del id_rol (el valor seleccionado en el combobox) [14:41].
- Actualización de Sentencia: La sentencia UPDATE se ajusta en sus dos versiones (con y sin cambio de contraseña) para incluir la actualización del campo id_rol [14:20].
2. 🗑️ Eliminación de Usuarios (DELETE)
La funcionalidad de eliminación de usuarios se completa, mostrando todos los detalles antes de la acción irreversible.
a. Vista de Eliminación (delete.php)
- Inclusión de Rol: La vista de eliminación reutiliza el controlador de visualización de datos (show_usuarios.php), el cual ya utiliza la consulta INNER JOIN [17:31].
- Visualización del Rol: Se agrega un nuevo campo de solo lectura en el formulario de confirmación para mostrar el nombre del rol del usuario a eliminar [17:48].
- Confirmación: Una vez visualizados los datos, el usuario puede confirmar la eliminación. Dado que la eliminación en la tabla usuarios no está restringida por clave foránea (solo la eliminación de roles lo está), el usuario se borra del sistema sin afectar la tabla roles [18:37].
Con esto, el módulo de Usuarios queda completamente funcional, incluyendo la gestión de roles. El próximo paso del curso es iniciar el módulo de Almacén para el registro de productos [19:24].
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! ❤️