49 Cargando notas con AJAX JQUERY en el curso Sistema de gestión escolar(PHP y MySql)FullStack

Duración: 32 min
Módulo: 🚀 Calificaciones (Lógica y Carga de Notas) Lección 5 de 6

Descripción

💻 Lección 49: Carga de Notas con AJAX y JQuery

El enfoque principal de esta lección fue garantizar que el sistema nunca duplique un registro de calificación y que muestre automáticamente las notas ya guardadas.

I. ⚙️ Lógica del Controlador (create.php)

El controlador recibe los datos de las notas fila por fila a través de AJAX y determina si debe insertar o actualizar el registro:

  1. Consulta de Existencia (SELECT)
    • Se realiza una consulta (SELECT) a la tabla calificaciones utilizando los tres identificadores únicos: docente_ID, estudiante_ID y materia_ID [02:30].
    • Propósito: Si la consulta devuelve un resultado, el registro ya existe y se debe actualizar. Si no devuelve resultados, el registro no existe y se debe insertar.
  2. Registro de Nota (INSERT)
    • Si no existe un registro con la tripleta de IDs, se ejecuta una sentencia INSERT INTO calificaciones [06:37].
    • Se registran los valores de docente_ID, estudiante_ID, materia_ID, y la nota_1 [07:05].
  3. Actualización de Nota (UPDATE)
    • Si el registro ya existe, se ejecuta una sentencia UPDATE calificaciones.
    • La actualización se realiza de manera más eficiente, usando la clave primaria ID_calificacion (obtenida previamente) en la cláusula WHERE [18:28].
    • Se actualizan la nota_1 y la fecha_actualizacion.

II. 💾 Carga Automática de Notas en el Formulario

Para mejorar la experiencia del usuario y permitir la edición, se implementó la carga de las notas previamente guardadas al abrir el formulario:

  1. Inclusión del Listado: Se incluye un controlador/modelo de listado de calificaciones en la vista (listado_calificaciones.php) [21:45].
  2. Condición en la Vista: Dentro del bucle principal de estudiantes, se añade un bucle secundario (foreach) que recorre las calificaciones existentes.
  3. Coincidencia de IDs: Solo si la calificación existente coincide con el docente_ID, estudiante_ID y materia_ID del formulario actual, se imprime el valor de la nota (nota_1) dentro del atributo value del <input> [24:27].
  4. Resultado: El formulario ahora carga automáticamente la nota guardada, permitiendo al docente ver y modificar calificaciones existentes [26:57].

III. ✅ Finalización y Mensajería

  • Se implementa una ventana emergente de confirmación (SweetAlert) que notifica al docente con el mensaje "Se actualizó las notas" después de que todas las llamadas AJAX han terminado su ejecución [30:17].
  • La lógica completa (SELECT, INSERT, UPDATE, y carga en la vista) fue implementada y probada exitosamente para la Nota 1 [31:22].