42 Listado de asignaciones de materias en el curso Sistema de gestión escolarPHP y MySqlFullStack
Duración: 32 minDescripció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):
- 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].
- 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].
- 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:
- 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.
- Modal de Detalles: El botón "Ver" abre un Modal de gran tamaño (modal-lg) para desplegar la información [17:38].
- 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].
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! ❤️