43 Editar asignaciones de materias en el curso Sistema de gestión escolar(PHP y MySql)FullStack

Duración: 25 min
Módulo: 🔗 Asignación de Materias Lección 4 de 5

Descripción

✏️ Lección 43: Edición de Asignaciones de Materias

El objetivo es permitir que el director o administrador modifique el nivel, grado/paralelo o materia de una asignación existente, sin tener que eliminar y volver a crear el registro.

I. 🚫 Lógica de Edición y Exclusiones

Se establece una lógica clave para el proceso de edición [11:23]:

  • Campos a Editar: Solo se pueden modificar los campos relacionados con el curso: Nivel, Grado/Paralelo y Materia.
  • Campo Excluido: No se permite cambiar el Docente asociado a la asignación.
    • Razón: Si se desea cambiar el docente, la lógica más clara es eliminar la asignación incorrecta y crear una nueva para el docente correcto. Esto mantiene la integridad del historial de asignaciones [11:41].

II. 🛠️ Implementación del Formulario de Edición

Se crea un nuevo Modal de Edición que se abre al hacer clic en el botón "Editar" (lápiz) dentro de la tabla de asignaciones [03:11]:

  1. Modal Individual: Se utiliza el ID_Asignacion (el identificador único del registro) para garantizar que cada botón de edición abra un modal diferente, cargando solo la información de la asignación seleccionada [04:04].
  2. Carga Automática de Datos (Select selected): Para mejorar la experiencia del usuario, los menús desplegables (Selects) deben cargar el valor que fue asignado originalmente:
    • Se utiliza una condición if dentro del bucle de opciones (<option>) para comparar el ID de la opción con el ID guardado en el registro de asignación (asignacion->nivel_ID, asignacion->grado_ID, etc.) [15:19].
    • Si coinciden, se añade el atributo selected a la opción, marcándola por defecto en el formulario [17:19].
  3. Envío del ID para Actualizar: Se añade un campo de tipo oculto (hidden) al formulario que contiene el ID_Asignacion (ID del registro que se está editando). Este ID es fundamental para la sentencia de actualización [18:27].

III. 🔄 Controlador de Actualización (update_asignaciones.php)

Se crea el controlador encargado de procesar la solicitud de edición:

  1. Recepción de Datos: Recibe el ID_Asignacion (oculto) y los nuevos IDs de Nivel, Grado y Materia [19:43].
  2. Sentencia SQL: Se ejecuta una sentencia UPDATE para modificar el registro en la tabla asignaciones:
    • Se actualizan los campos nivel_ID, grado_ID, materia_ID y la fecha/hora de actualización [20:19].
    • La condición WHERE utiliza el ID_Asignacion recibido para garantizar que solo se modifique el registro específico [21:05].
  3. Resultado: Tras la ejecución, se muestra un mensaje de éxito ("se actualizó la asignación...") y se redirige al usuario a la vista principal de asignaciones [22:38].

🚀 Próximos Pasos

En la siguiente lección, se implementará la función de Eliminación para completar el ciclo CRUD (Crear, Leer, Actualizar, Eliminar) del módulo de asignación de materias [24:46].