24 Create docentes en el curso de Sistema de gestión escolar(PHP y MySql)FullStack
Duración: 11 minDescripción
📝 Lección 24: Implementación del Controlador Create para Docentes (CRUD - Create)
Esta lección se centra en la implementación del controlador create.php para el módulo de Docentes, un paso clave para registrar nuevos profesores en el sistema de gestión escolar. Al igual que el módulo administrativo, este proceso requiere una transacción atómica para insertar datos de manera segura en tres tablas relacionadas.
1. ⚙️ Adaptación del Controlador
El controlador create.php para docentes se crea a partir de una copia del controlador administrativo, adaptando las variables y las sentencias SQL:
- Recepción de Variables: El controlador recibe todos los campos del formulario, incluyendo los campos genéricos de la tabla personas y los campos específicos del docente [03:08]:
- roll_ID, nombres, apellidos, ci, fecha_nacimiento, celular, profesion, gmail, direccion.
- Nuevos Campos: especialidad y antiguedad [03:40].
- Transacción Segura: Se inicia una transacción de PDO (beginTransaction) para asegurar que si falla la inserción en cualquiera de las tres tablas, se reviertan todos los cambios (rollback) [04:08].
2. 💾 Inserción de Datos en Tres Tablas
El registro de un docente implica la ejecución exitosa de tres sentencias INSERT consecutivas, encadenando los IDs generados:
Paso 1: Insertar en la Tabla usuarios
- Se insertan el roll_ID, el gmail (correo electrónico) y la password (generada a partir del CI hasheado).
- Se recupera el ID_usuario generado, que servirá de clave foránea en la siguiente tabla [04:45].
Paso 2: Insertar en la Tabla personas
- Se utiliza el ID_usuario (del paso anterior) como clave foránea.
- Se insertan todos los datos personales del docente (nombres, apellidos, ci, celular, direccion, etc.).
- Se recupera el ID_persona generado, que servirá de clave foránea en la última tabla [05:37].
Paso 3: Insertar en la Tabla docentes
- Se utiliza el ID_persona (del paso anterior) como clave foránea.
- Se insertan los datos únicos y específicos del docente: especialidad y antiguedad [05:59].
3. ✅ Validación y Resultado
- Éxito: Si las tres inserciones se ejecutan sin errores, se ejecuta el commit y se muestra un mensaje de éxito, redireccionando al usuario al listado de docentes [07:08].
- Validación de Unicidad: Durante la fase de prueba, la transacción genera un error (rollback) cuando se intenta registrar un docente con un correo electrónico que ya existe en la tabla usuarios [08:55]. Esto confirma que las restricciones de unicidad de la base de datos están funcionando correctamente.
- Comprobación en DB: Tras el registro exitoso, se verifica en PHPMyAdmin que los datos se hayan distribuido y almacenado correctamente en las tres tablas [09:29].
El módulo de Creación (Create) para docentes queda completamente funcional. En el siguiente capítulo, se trabajará en la acción de Listado (Read) para mostrar al personal docente registrado [10:29].
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! ❤️