29 Registro de inscripción de estudiante curso de Sistema de gestión escolar(PHP y MySql)FullStack
Duración: 18 minDescripción
💾 Registro de Inscripción de Estudiantes (Controlador create.php)
El objetivo principal de esta lección es implementar la lógica en el controlador para que, a partir de un único formulario, se registren los datos en las cuatro tablas de la base de datos: usuarios, personas, estudiantes y padres_de_familia.
1. Transacción Atómica (Garantía de Integridad)
Para asegurar que la inserción de datos sea completa y no se guarde información parcial (por ejemplo, registrar al usuario pero no al estudiante), se utiliza una transacción de PDO:
- Se inicia la transacción con beginTransaction [05:11].
- Las cuatro operaciones INSERT se ejecutan de forma secuencial.
- Si todas las inserciones son exitosas, la transacción se finaliza con commit [12:48].
- Si ocurre un error en cualquiera de los pasos, se ejecuta rollback para revertir cualquier inserción anterior, evitando registros incompletos [13:35].
2. Secuencia de Inserción en Cuatro Tablas
El controlador registra la información del formulario siguiendo un orden estricto, ya que las claves foráneas de una tabla dependen del ID generado en la tabla anterior:
| Tabla (Pasos) | Campos Insertados y Clave Foránea | ID Recuperado |
|---|---|---|
| 1. usuarios | roll_ID (Estudiante), gmail, y la contraseña encriptada (generada a partir del CI) [05:20]. | ID_usuario |
| 2. personas | ID_usuario, datos personales (nombres, apellidos, ci, celular, etc.) y profesion (fijado a 'estudiante') [06:00]. | ID_persona |
| 3. estudiantes | ID_persona, datos académicos (nivel_ID, grado_ID, rude) [07:37]. | ID_estudiante |
| 4. padres_de_familia | ID_estudiante, datos del padre de familia, y los datos de referencia [09:59]. | No se recupera |
Una vez que las cuatro sentencias INSERT se ejecutan correctamente, el sistema muestra un mensaje de éxito y redirige a la vista principal del listado de estudiantes [12:59].
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! ❤️