action_horario_excel.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. $ruta = "../";
  3. require_once "../include/bd_pdo.php";
  4. require_once "../include/func_excel.php";
  5. extract($_POST);
  6. # $carrera;
  7. # $facultad;
  8. $horarios = json_decode($data, true);
  9. // make sure profesores are in the database
  10. foreach ($horarios as $horario) {
  11. $params = [
  12. 'materia' => $horario['materia'],
  13. 'carrera' => $carrera,
  14. ];
  15. $horario['materia'] = query("SELECT FI_MATERIA(:materia, :carrera) id", $params)['id'];
  16. $params = [
  17. 'clave' => $horario['clave'],
  18. 'nombre' => $horario['nombre'],
  19. 'correo' => $horario['correo'],
  20. 'grado' => $horario['grado'],
  21. 'facultad' => $facultad,
  22. ];
  23. $horario['profesor'] = query("SELECT FI_PROFESOR(:nombre, :clave, :facultad, :correo, :grado) id", $params)['id'];
  24. $horario = array_diff_key($horario, array_flip(['clave', 'nombre', 'correo', 'grado', '']));
  25. $horario['periodo'] = $periodo;
  26. $horario['facultad'] = $facultad;
  27. try {
  28. query(
  29. "SELECT FI_HORARIO(:horario::VARCHAR, :profesor::INT, :materia::INT, :facultad::INT, :periodo::INT, :grupo::VARCHAR, :salon::VARCHAR)",
  30. $horario
  31. );
  32. } catch (Exception $e) {
  33. die(json_encode([
  34. "status" => "error",
  35. "sql" => $e->getMessage(),
  36. "message" => "Error al cargar el archivo",
  37. ]));
  38. }
  39. }
  40. ?>
  41. <?= json_encode([
  42. "status" => "success",
  43. "message" => "Horarios guardado con éxito",
  44. ]) ?>