materiasrelacionadasprofesor_select.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. /* AJAX
  3. * Selecciona los datos de las materias y los días de la semana que se imparten. Principalmente para reposiciones
  4. * Recibe:
  5. * id - ID del usuario
  6. * per - ID del perido opcional, si no está toma el de sesión
  7. * Return:
  8. * resultado o cadena de error
  9. */
  10. require_once("../../include/constantes.php");
  11. require_once("../../include/nocache.php");
  12. require_once("../../include/bd_pdo.php");
  13. require_once("../../classes/ValidaSesion.php");
  14. //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
  15. $objSesion = new ValidaSesion($pdo, 25, APSA);
  16. if(!$objSesion->tieneAcceso()){
  17. $return["error"] = "Error! No tienes permisos para realizar esta acción.";
  18. }else if(empty($_POST["id"]) || empty($_POST["mat"])){
  19. $return["error"] = "Error! No se recibió la información del usuario.";
  20. }else{
  21. $id = filter_input(INPUT_POST, "id", FILTER_SANITIZE_NUMBER_INT);//limpia texto
  22. $mat = explode("_", $_POST["mat"])[0];
  23. $periodo = $_SESSION["periodo_id"];
  24. if(isset($_POST["per"])){
  25. $periodo = $_POST["per"];
  26. }
  27. //Materias
  28. //$stmt = $pdo->prepare('Select * from fs_materiasprofesor(:per, :usr)');
  29. $stmt = $pdo->prepare('Select mp.* from fs_materiasprofesor(:per, :usr) as mp inner join fs_materiarelacionada_all(:mat) as mr on mp."Materia_id" = mr."Materia_id"
  30. ORDER BY mp."Grupo_desc", mp."Materia_desc";');
  31. $stmt->bindParam(":per", $periodo);
  32. $stmt->bindParam(":usr", $id);
  33. $stmt->bindParam(":mat", $mat);
  34. if(!$stmt->execute()){
  35. $return["error"] = "Ocurrió un error al leer los datos de la materia.";
  36. }else{
  37. $materias_rs = $stmt->fetchAll();
  38. $stmt->closeCursor();
  39. $stmt = null;
  40. $return["materias"] = $materias_rs;
  41. }
  42. }
  43. $return["json"] = json_encode($return);
  44. echo json_encode($return);
  45. ?>