32 Update estudiantes en el curso de Sistema de gestión escolar(PHP y MySql)FullStack

Duración: 39 min
Módulo: ✏️ CRUD de Estudiantes Lección 3 de 3

Descripción

✏️ Lección 32: Actualización de Datos de Estudiantes (Update)

La Lección 32 completa el módulo de estudiantes al implementar la funcionalidad de actualización (Update) de los datos del estudiante, la cual, al igual que la inscripción, debe modificar la información en cuatro tablas diferentes de forma atómica.

1. 🖥️ Preparación de la Vista de Edición (edit.php)

La vista de edición (edit.php) se construye copiando la estructura del formulario de inscripción (create.php), pero se le hacen las siguientes modificaciones esenciales:

  1. Recepción de Datos: Utiliza el controlador datos_del_estudiante.php (creado en la lección anterior) para obtener el registro completo del estudiante a través de su ID [02:47].
  2. Pre-carga de Valores:
    • Todos los campos de texto (input) son llenados con el valor actual del estudiante usando el atributo value y las variables traídas por la consulta SQL [05:08].
    • Para los campos select de Nivel y Grado, se implementa una lógica de comparación dentro del bucle foreach para que la opción que coincide con el ID registrado del estudiante aparezca como selected por defecto [06:58]. Este proceso requirió una depuración de la consulta SQL para asegurar que se recuperara el ID de nivel correcto (estudiante.nivel_ID) y no otro ID de nivel proveniente de las tablas de relación [13:58].
  3. Campos Ocultos (hidden): Se añaden campos ocultos (<input type="hidden">) dentro del formulario para enviar los IDs necesarios para la consulta UPDATE del controlador:
  4. Ruta y Botón: El formulario apunta al nuevo controlador estudiantes/update.php y el botón de envío se renombra a "Actualizar" con un color verde (success) [04:29].

2. ⚙️ Desarrollo del Controlador de Actualización (update.php)

El controlador de actualización reutiliza la estructura de la transacción atómica de la inscripción, pero reemplazando las sentencias INSERT por UPDATE.

  1. Transacción Atómica: Se utiliza beginTransaction y commit/rollback para garantizar que las cuatro actualizaciones se completen sin errores [17:47].
  2. Sentencias UPDATE: Se ejecutan cuatro sentencias UPDATE secuenciales, cada una enfocándose en los campos relevantes de su tabla. La condición WHERE se utiliza para identificar el registro exacto a modificar en cada tabla, usando los IDs recibidos por los campos ocultos del formulario.