42 Listado de asignaciones de materias en el curso Sistema de gestión escolarPHP y MySqlFullStack

Duración: 32 min
Módulo: 🔗 Asignación de Materias Lección 3 de 5

Descripción

💾 Lección 42: Registro y Listado de Asignaciones de Materias

Esta lección cubre la implementación del controlador de registro y la creación de la vista dinámica que permite ver, en detalle, las asignaciones de cada docente.

I. ✍️ Controlador de Creación (create_asignaciones.php)

El primer paso fue implementar el controlador que recibe los datos del formulario (modal):

  1. Recepción de IDs: Se reciben los cuatro identificadores clave enviados por el formulario: ID_Docente, ID_Nivel, ID_Grado, y ID_Materia [01:24].
  2. Corrección Crítica (Bug): Durante la prueba, se identificó un error en el formulario de la lección anterior: el campo de Grado no estaba enviando su valor porque su atributo name no estaba definido correctamente. Este error se subsana rápidamente al nombrar el campo como ID_Grado [07:59].
  3. Sentencia SQL: Se ejecuta la sentencia INSERT INTO asignaciones para guardar los cuatro IDs, junto con la fecha y hora de la declaración, y el estado de registro (activo = 1) [02:39].

II. 📋 Listado de Docentes y Asignaciones

Se modifica la vista principal (asignacion.php) para listar a todos los docentes y permitir la visualización de sus asignaciones:

  • Estructura: La tabla principal se mantiene como un listado de todos los docentes [11:29].
  • Nueva Columna: Se añade la columna "Materias Asignadas" [11:43].
  • Botón de Acción: Para cada docente, se incluye un botón "Ver" que tiene un identificador único (el ID_Docente) para abrir el modal de detalles [12:17].

III. 🔍 Consulta Compleja y Modal Detallado

Para mostrar la información completa, fue necesaria una consulta avanzada y un proceso de filtrado en la vista:

  1. Consulta listado_asignaciones: Se define una consulta SQL compleja en un nuevo controlador, utilizando INNER JOIN para relacionar la tabla asignaciones con las tablas docentes, niveles, grados y materias [20:28]. Esto permite obtener los nombres completos (ej: "Matemáticas" en lugar de solo "ID_10") asociados a cada asignación.
  2. Modal de Detalles: El botón "Ver" abre un Modal de gran tamaño (modal-lg) para desplegar la información [17:38].
    • Muestra el Nombre del Docente como encabezado [18:07].
    • Contiene una tabla con los siguientes encabezados: Nivel, Turno, Grado, Paralelo y Materia [28:45].
  3. Filtrado Dinámico en la Vista: Para evitar múltiples consultas por cada docente, la vista implementa un bucle foreach con una condición if [25:17]. Esta lógica garantiza que:
    • Se traigan todos los registros de asignación.
    • Solo se muestren en el modal de detalles aquellos registros cuyo docente_ID coincida con el ID_Docente de la fila actual que se está consultando.

⏭️ Próximos Pasos

El módulo de Asignación de Materias será completado en la siguiente lección, enfocándose en la implementación de las acciones de Editar y Eliminar para los registros ya existentes [31:23].