37 Editar pagos del estudiante en el curso Sistema de gestión escolar(PHP y MySql)FullStack

Duración: 18 min
Módulo: 📄 CRUD de Pagos y Documentación Lección 2 de 4

Descripción

🛠️ Lección 37: Editar Pagos del Estudiante

El objetivo principal de esta lección es dotar a la tabla de pagos de una acción para modificar los datos de un registro existente.

I. 📑 Actualización de la Interfaz (Vista)

Se inicia agregando las acciones necesarias a la tabla de historial de pagos (pagos/create.php):

  • Implementación de Acciones: Se añade una columna a la tabla para tres acciones:
    • ✍️ Editar: Para modificar el registro.
    • 🗑️ Borrar: Para eliminar el registro (pendiente de implementación).
    • 🖨️ Imprimir: Para generar un comprobante (pendiente de implementación) [02:06].
  • Botón Único para Editar: Se utiliza la lógica de Modals para la edición, similar al registro. Para que cada fila abra su propia ventana de edición, el atributo data-target del botón se vuelve único concatenando el ID_Pago a su nombre (ej: modal-editar-ID_Pago) [04:30].

II. 🖼️ Creación del Modal de Edición

Se copia la estructura del formulario de registro, pero se realizan ajustes cruciales para la edición:

  1. Título y Acción:
    • El título del modal se cambia a "Edición de Pago" [06:29].
    • La acción del formulario se dirige al nuevo controlador pagos/update [06:59].
  2. Identificador Oculto (Hidden):
    • Se añade un campo input type="hidden" para pasar el ID_Pago al controlador. Este es el dato clave que le indica a la base de datos qué registro debe actualizar [12:46].
  3. Carga Automática de Datos:
    • Mes Pagado: Se utiliza una condición PHP (if) dentro del select para comparar el mes actual de la base de datos con cada opción (Enero, Febrero, etc.) y añadir el atributo selected a la opción que coincida [08:40].
    • Monto y Fecha: Los valores del monto y la fecha de pago registrados se cargan directamente en el atributo value de sus respectivos campos de texto [10:27], [10:43].

III. ⚙️ Lógica del Controlador (pagos/update)

Este nuevo controlador se encarga de procesar los cambios y guardarlos en la base de datos:

  1. Recepción de Datos: El controlador recibe todos los campos modificables (mes, monto, fecha) y, crucialmente, el ID_Pago [13:39].
  2. Sentencia SQL: Se construye una consulta UPDATE dirigida a la tabla pagos [13:58].
  3. Campos Actualizados: Se actualizan los campos: mes_pagado, monto_pagado, fecha_pagado y el fecha_actualizacion (para registrar cuándo se modificó el registro) [14:05].
  4. Cláusula WHERE: Se aplica una condición estricta WHERE ID_Pago = ? para asegurar que solo se actualice el registro específico y no toda la tabla [14:58].
  5. Verificación: Tras una prueba, se confirma que el registro se actualiza correctamente, y los cambios se reflejan tanto en la tabla de la vista como en la base de datos [16:15].

Próximos Pasos

  • 🗑️ Eliminación: Implementación de la función para borrar un registro de pago [18:04].
  • 🖨️ Comprobante: Generación del documento imprimible en formato PDF.