26 Editar datos de los docentes en el curso de Sistema de gestión escolar(PHP y MySql)FullStack
Duración: 21 minDescripción
✏️ Lección 26: Implementación del Controlador Update para Docentes (CRUD - Update)
Esta lección finaliza las operaciones CRUD (Crear, Leer, Actualizar) del Módulo de Docentes, centrándose en el desarrollo del controlador update.php para permitir la edición de los datos de un profesor.
1. 🖥️ Preparación de la Vista de Edición (edit.php)
La vista de edición se crea copiando y adaptando la vista de creación (create.php), con el objetivo de precargar los datos del docente a modificar:
- Título y Botón: El título se cambia a "Modificación del docente" y el botón de acción se etiqueta como "Actualizar" [03:07].
- Precarga de Datos (Values): Se utiliza la información ya cargada por el controlador datos_del_docente.php (el mismo usado en la vista show.php) para llenar el atributo value de cada campo de input [05:47].
- Campos Ocultos (Hidden IDs): Para realizar la actualización a través de las tres tablas relacionadas (usuarios, personas, docentes), es crucial enviar los ID's de cada registro. Se agregan tres campos ocultos (hidden) al formulario para enviar estos identificadores [08:46]:
- ID_usuario
- ID_persona
- ID_docente
2. 💾 Desarrollo del Controlador de Actualización (update.php)
El controlador update.php se construye adaptando la lógica del controlador create.php, pero utilizando sentencias UPDATE en lugar de INSERT.
Variables y Transacción
- Recepción de Variables: El controlador recibe los datos del formulario, incluyendo los campos a modificar (nombres, celular, especialidad, etc.) y los tres campos ID's ocultos (ID_usuario, ID_persona, ID_docente) [10:09].
- Transacción Atómica: Se utiliza una transacción de PDO para garantizar que los cambios solo se realicen si todas las sentencias UPDATE se ejecutan correctamente [10:35].
Sentencias SQL de Actualización
El proceso actualiza la información en cada tabla utilizando su respectivo ID como condición:
- Actualizar usuarios: Se actualizan el roll_ID, gmail y la password (encriptada de nuevo), usando el ID_usuario en la cláusula WHERE [11:42].
- Actualizar personas: Se actualizan los datos personales (nombres, apellidos, CI, fecha de nacimiento, profesión, etc.), usando el ID_persona en la cláusula WHERE [13:59].
- Actualizar docentes: Se actualizan los campos específicos del docente: especialidad y antiguedad, usando el ID_docente en la cláusula WHERE [16:18].
Resultado y Compromiso
- Éxito: Si las tres actualizaciones son exitosas, se ejecuta el commit de la transacción y se muestra un mensaje de éxito, redireccionando al listado de docentes [17:19].
- Validación: Se realiza una prueba de fuego, realizando cambios drásticos en todos los campos para verificar que el controlador y las sentencias UPDATE funcionen correctamente [17:58].
3. 🎉 Cierre del Módulo
Con la implementación de la funcionalidad Editar (Update), el módulo de Docentes queda funcional en sus operaciones de Crear, Leer y Actualizar.
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! ❤️