PageRenderTime 60ms CodeModel.GetById 29ms RepoModel.GetById 1ms app.codeStats 0ms

/libs/lib_grade.php

https://github.com/jonatasleal/CICCOL
PHP | 710 lines | 486 code | 141 blank | 83 comment | 56 complexity | ce949ad78daf684eeb5a07a943e49ea6 MD5 | raw file
  1. <?php
  2. header("Content-Type: text/html; charset=UTF-8",true);
  3. include "dbconfig.php";
  4. //recebendo variável da ação
  5. $request_action = trim(strtolower($_REQUEST['action']));
  6. $request_reference = trim(strtolower($_REQUEST['reference']));
  7. switch ($request_reference)
  8. {
  9. case "grade":
  10. switch ($request_action)
  11. {
  12. case "grid_buscar_grade1":
  13. //Recebe as variáveis do datastring
  14. $request_id_grade = trim(($_REQUEST['id_grade']));
  15. $idGrade = $request_id_grade{strlen($request_id_grade)-1};
  16. //echo gettype($idGrade);
  17. /* Se nenhuma grade foi selecionada, mostra as disciplinas da grade mais atual */
  18. if ($idGrade == "")
  19. {
  20. $aux=pg_query("SELECT MAX(id_grade) AS id_grade FROM GradeCurricular");
  21. $row_aux = pg_fetch_array($aux);
  22. $idGrade = $row_aux['id_grade'];
  23. }
  24. $result = pg_query("SELECT COUNT(*) AS count FROM Disciplina NATURAL JOIN DisciplinaGradeCurricular WHERE (semestre='1' AND optativa='1' AND id_grade = '$idGrade')");
  25. $row = pg_fetch_array($result);
  26. $count = $row['count'];
  27. $SQL = "SELECT D.id_disciplina AS id_disciplina, M.nome AS nome_materia, D.nome AS nome_disciplina, carga_horaria, num_cred FROM materia M JOIN Disciplina D ON M.id_materia=D.id_materia WHERE (semestre='1' AND optativa='1' AND D.nome IN (SELECT nome FROM DisciplinaGradeCurricular WHERE id_grade = '$idGrade')) ORDER BY M.nome";
  28. $result = pg_query( $SQL ) or die("A consulta não pode ser realizada.".pq_last_error());
  29. if ( stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml") ) {
  30. header("Content-type: application/xhtml+xml;charset=utf-8"); }
  31. else { header("Content-type: text/xml;charset=utf-8");
  32. }
  33. echo "<?xml version='1.0' encoding='utf-8'?>";
  34. echo "<rows>";
  35. echo "<records>".$count."</records>";
  36. while($row = pg_fetch_array($result))
  37. {
  38. $SQLEmenta = pg_query("SELECT descricao FROM Ementa WHERE id_ementa IN (SELECT id_ementa FROM Disciplina WHERE id_disciplina='$row[id_disciplina]')");
  39. $row_aux = pg_fetch_array($SQLEmenta);
  40. $Ementa = $row_aux['descricao'];
  41. echo "<row id='". $row[id_disciplina]."'>";
  42. echo "<cell>".""."</cell>";
  43. echo "<cell>". $row_aux[descricao]."</cell>";
  44. echo "<cell>". $row[nome_materia]."</cell>";
  45. echo "<cell>". $row[nome_disciplina]."</cell>";
  46. echo "<cell>". $row[carga_horaria]."</cell>";
  47. echo "<cell>". $row[num_cred]."</cell>";
  48. /* Seleciona as matérias que são pré-requisto das matérias correntes */
  49. $result_1 = pg_query("SELECT requisito_nome FROM DisciplinaRequisitaDisciplina WHERE nome = '$row[nome_disciplina]'");
  50. $aux='';
  51. /* Colaca as matérias que são pré-requisito em um array. */
  52. while($row_1 = pg_fetch_array($result_1))
  53. {
  54. /* Transforma as matérias que são pré-requisito em uma única string */
  55. $aux = $aux . ', ' . $row_1[requisito_nome];
  56. }
  57. /* Se não houver nenhum pré-requisito, mostra os --- na tela. */
  58. if($aux == '')
  59. $aux = '---';
  60. else
  61. {
  62. /* Remove a vírgula inicial da string*/
  63. $aux = substr($aux, 1);
  64. /* Retira os espaços do começo e do fim*/
  65. $aux = trim($aux);
  66. }
  67. echo "<cell>". $aux."</cell>";
  68. echo "</row>";
  69. }
  70. echo "</rows>";
  71. break;
  72. case "grid_buscar_grade2":
  73. //Recebe as variáveis do datastring
  74. $request_id_grade = trim(($_REQUEST['id_grade']));
  75. $idGrade = $request_id_grade{strlen($request_id_grade)-1};
  76. //echo gettype($idGrade);
  77. /* Se nenhuma grade foi selecionada, mostra as disciplinas da grade mais atual */
  78. if ($idGrade == "")
  79. {
  80. $aux=pg_query("SELECT MAX(id_grade) AS id_grade FROM GradeCurricular");
  81. $row_aux = pg_fetch_array($aux);
  82. $idGrade = $row_aux['id_grade'];
  83. }
  84. $result = pg_query("SELECT COUNT(*) AS count FROM Disciplina NATURAL JOIN DisciplinaGradeCurricular WHERE (semestre='2' AND optativa='1' AND id_grade = '$idGrade')");
  85. $row = pg_fetch_array($result);
  86. $count = $row['count'];
  87. $SQL = "SELECT D.id_disciplina AS id_disciplina, M.nome AS nome_materia, D.nome AS nome_disciplina, carga_horaria, num_cred FROM materia M JOIN Disciplina D ON M.id_materia=D.id_materia WHERE (semestre='2' AND optativa='1' AND D.nome IN (SELECT nome FROM DisciplinaGradeCurricular WHERE id_grade = '$idGrade')) ORDER BY M.nome";
  88. $result = pg_query( $SQL ) or die("Couldn t execute query.".pq_last_error());
  89. if ( stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml") ) {
  90. header("Content-type: application/xhtml+xml;charset=utf-8"); }
  91. else { header("Content-type: text/xml;charset=utf-8");
  92. }
  93. echo "<?xml version='1.0' encoding='utf-8'?>";
  94. echo "<rows>";
  95. echo "<page>".$page."</page>";
  96. echo "<total>".$total_pages."</total>";
  97. echo "<records>".$count."</records>";
  98. while($row = pg_fetch_array($result))
  99. {
  100. $SQLEmenta = pg_query("SELECT descricao FROM Ementa WHERE id_ementa IN (SELECT id_ementa FROM Disciplina WHERE id_disciplina='$row[id_disciplina]')");
  101. $row_aux = pg_fetch_array($SQLEmenta);
  102. $Ementa = $row_aux['descricao'];
  103. echo "<row id='". $row[id_disciplina]."'>";
  104. echo "<cell>".""."</cell>";
  105. echo "<cell>". $row_aux[descricao]."</cell>";
  106. echo "<cell>". $row[nome_materia]."</cell>";
  107. echo "<cell>". $row[nome_disciplina]."</cell>";
  108. echo "<cell>". $row[carga_horaria]."</cell>";
  109. echo "<cell>". $row[num_cred]."</cell>";
  110. /* Seleciona as matérias que são pré-requisto das matérias correntes */
  111. $result_1 = pg_query("SELECT requisito_nome FROM DisciplinaRequisitaDisciplina WHERE nome = '$row[nome_disciplina]'");
  112. $aux='';
  113. /* Colaca as matérias que são pré-requisito em um array. */
  114. while($row_1 = pg_fetch_array($result_1))
  115. {
  116. /* Transforma as matérias que são pré-requisito em uma única string */
  117. $aux = $aux . ', ' . $row_1[requisito_nome];
  118. }
  119. /* Se não houver nenhum pré-requisito, mostra os --- na tela. */
  120. if($aux == '')
  121. $aux = '---';
  122. else
  123. {
  124. /* Remove a vírgula inicial da string*/
  125. $aux = substr($aux, 1);
  126. /* Retira os espaços do começo e do fim*/
  127. $aux = trim($aux);
  128. }
  129. echo "<cell>". $aux."</cell>";
  130. echo "</row>";
  131. }
  132. echo "</rows>";
  133. break;
  134. case "grid_buscar_grade3":
  135. //Recebe as variáveis do datastring
  136. $request_id_grade = trim(($_REQUEST['id_grade']));
  137. $idGrade = $request_id_grade{strlen($request_id_grade)-1};
  138. //echo gettype($idGrade);
  139. /* Se nenhuma grade foi selecionada, mostra as disciplinas da grade mais atual */
  140. if ($idGrade == "")
  141. {
  142. $aux=pg_query("SELECT MAX(id_grade) AS id_grade FROM GradeCurricular");
  143. $row_aux = pg_fetch_array($aux);
  144. $idGrade = $row_aux['id_grade'];
  145. }
  146. $result = pg_query("SELECT COUNT(*) AS count FROM Disciplina NATURAL JOIN DisciplinaGradeCurricular WHERE (semestre='3' AND optativa='1' AND id_grade = '$idGrade')");
  147. $row = pg_fetch_array($result);
  148. $count = $row['count'];
  149. $SQL = "SELECT D.id_disciplina AS id_disciplina, M.nome AS nome_materia, D.nome AS nome_disciplina, carga_horaria, num_cred FROM materia M JOIN Disciplina D ON M.id_materia=D.id_materia WHERE (semestre='3' AND optativa='1' AND D.nome IN (SELECT nome FROM DisciplinaGradeCurricular WHERE id_grade = '$idGrade')) ORDER BY M.nome";
  150. $result = pg_query( $SQL ) or die("Couldn t execute query.".pq_last_error());
  151. if ( stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml") ) {
  152. header("Content-type: application/xhtml+xml;charset=utf-8"); }
  153. else { header("Content-type: text/xml;charset=utf-8");
  154. }
  155. echo "<?xml version='1.0' encoding='utf-8'?>";
  156. echo "<rows>";
  157. echo "<page>".$page."</page>";
  158. echo "<total>".$total_pages."</total>";
  159. echo "<records>".$count."</records>";
  160. while($row = pg_fetch_array($result))
  161. {
  162. $SQLEmenta = pg_query("SELECT descricao FROM Ementa WHERE id_ementa IN (SELECT id_ementa FROM Disciplina WHERE id_disciplina='$row[id_disciplina]')");
  163. $row_aux = pg_fetch_array($SQLEmenta);
  164. $Ementa = $row_aux['descricao'];
  165. echo "<row id='". $row[id_disciplina]."'>";
  166. echo "<cell>".""."</cell>";
  167. echo "<cell>". $row_aux[descricao]."</cell>";
  168. echo "<cell>". $row[nome_materia]."</cell>";
  169. echo "<cell>". $row[nome_disciplina]."</cell>";
  170. echo "<cell>". $row[carga_horaria]."</cell>";
  171. echo "<cell>". $row[num_cred]."</cell>";
  172. /* Seleciona as matérias que são pré-requisto das matérias correntes */
  173. $result_1 = pg_query("SELECT requisito_nome FROM DisciplinaRequisitaDisciplina WHERE nome = '$row[nome_disciplina]'");
  174. $aux='';
  175. /* Colaca as matérias que são pré-requisito em um array. */
  176. while($row_1 = pg_fetch_array($result_1))
  177. {
  178. /* Transforma as matérias que são pré-requisito em uma única string */
  179. $aux = $aux . ', ' . $row_1[requisito_nome];
  180. }
  181. /* Se não houver nenhum pré-requisito, mostra os --- na tela. */
  182. if($aux == '')
  183. $aux = '---';
  184. else
  185. {
  186. /* Remove a vírgula inicial da string*/
  187. $aux = substr($aux, 1);
  188. /* Retira os espaços do começo e do fim*/
  189. $aux = trim($aux);
  190. }
  191. echo "<cell>". $aux."</cell>";
  192. echo "</row>";
  193. }
  194. echo "</rows>";
  195. break;
  196. case "grid_buscar_grade4":
  197. //Recebe as variáveis do datastring
  198. $request_id_grade = trim(($_REQUEST['id_grade']));
  199. $idGrade = $request_id_grade{strlen($request_id_grade)-1};
  200. //echo gettype($idGrade);
  201. /* Se nenhuma grade foi selecionada, mostra as disciplinas da grade mais atual */
  202. if ($idGrade == "")
  203. {
  204. $aux=pg_query("SELECT MAX(id_grade) AS id_grade FROM GradeCurricular");
  205. $row_aux = pg_fetch_array($aux);
  206. $idGrade = $row_aux['id_grade'];
  207. }
  208. $result = pg_query("SELECT COUNT(*) AS count FROM Disciplina NATURAL JOIN DisciplinaGradeCurricular WHERE (semestre='4' AND optativa='1' AND id_grade = '$idGrade')");
  209. $row = pg_fetch_array($result);
  210. $count = $row['count'];
  211. $SQL = "SELECT D.id_disciplina AS id_disciplina, M.nome AS nome_materia, D.nome AS nome_disciplina, carga_horaria, num_cred FROM materia M JOIN Disciplina D ON M.id_materia=D.id_materia WHERE (semestre='4' AND optativa='1' AND D.nome IN (SELECT nome FROM DisciplinaGradeCurricular WHERE id_grade = '$idGrade')) ORDER BY M.nome";
  212. $result = pg_query( $SQL ) or die("Couldn t execute query.".pq_last_error());
  213. if ( stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml") ) {
  214. header("Content-type: application/xhtml+xml;charset=utf-8"); }
  215. else { header("Content-type: text/xml;charset=utf-8");
  216. }
  217. echo "<?xml version='1.0' encoding='utf-8'?>";
  218. echo "<rows>";
  219. echo "<records>".$count."</records>";
  220. while($row = pg_fetch_array($result))
  221. {
  222. $SQLEmenta = pg_query("SELECT descricao FROM Ementa WHERE id_ementa IN (SELECT id_ementa FROM Disciplina WHERE id_disciplina='$row[id_disciplina]')");
  223. $row_aux = pg_fetch_array($SQLEmenta);
  224. $Ementa = $row_aux['descricao'];
  225. echo "<row id='". $row[id_disciplina]."'>";
  226. echo "<cell>".""."</cell>";
  227. echo "<cell>". $row_aux[descricao]."</cell>";
  228. echo "<cell>". $row[nome_materia]."</cell>";
  229. echo "<cell>". $row[nome_disciplina]."</cell>";
  230. echo "<cell>". $row[carga_horaria]."</cell>";
  231. echo "<cell>". $row[num_cred]."</cell>";
  232. /* Seleciona as matérias que são pré-requisto das matérias correntes */
  233. $result_1 = pg_query("SELECT requisito_nome FROM DisciplinaRequisitaDisciplina WHERE nome = '$row[nome_disciplina]'");
  234. $aux='';
  235. /* Colaca as matérias que são pré-requisito em um array. */
  236. while($row_1 = pg_fetch_array($result_1))
  237. {
  238. /* Transforma as matérias que são pré-requisito em uma única string */
  239. $aux = $aux . ', ' . $row_1[requisito_nome];
  240. }
  241. /* Se não houver nenhum pré-requisito, mostra os --- na tela. */
  242. if($aux == '')
  243. $aux = '---';
  244. else
  245. {
  246. /* Remove a vírgula inicial da string*/
  247. $aux = substr($aux, 1);
  248. /* Retira os espaços do começo e do fim*/
  249. $aux = trim($aux);
  250. }
  251. echo "<cell>". $aux."</cell>";
  252. echo "</row>";
  253. }
  254. echo "</rows>";
  255. break;
  256. case "grid_buscar_grade5":
  257. //Recebe as variáveis do datastring
  258. $request_id_grade = trim(($_REQUEST['id_grade']));
  259. $idGrade = $request_id_grade{strlen($request_id_grade)-1};
  260. //echo gettype($idGrade);
  261. /* Se nenhuma grade foi selecionada, mostra as disciplinas da grade mais atual */
  262. if ($idGrade == "")
  263. {
  264. $aux=pg_query("SELECT MAX(id_grade) AS id_grade FROM GradeCurricular");
  265. $row_aux = pg_fetch_array($aux);
  266. $idGrade = $row_aux['id_grade'];
  267. }
  268. $result = pg_query("SELECT COUNT(*) AS count FROM Disciplina NATURAL JOIN DisciplinaGradeCurricular WHERE (semestre='5' AND optativa='1' AND id_grade = '$idGrade')");
  269. $row = pg_fetch_array($result);
  270. $count = $row['count'];
  271. $SQL = "SELECT D.id_disciplina AS id_disciplina, M.nome AS nome_materia, D.nome AS nome_disciplina, carga_horaria, num_cred FROM materia M JOIN Disciplina D ON M.id_materia=D.id_materia WHERE (semestre='5' AND optativa='1' AND D.nome IN (SELECT nome FROM DisciplinaGradeCurricular WHERE id_grade = '$idGrade')) ORDER BY M.nome";
  272. $result = pg_query( $SQL ) or die("Couldn t execute query.".pq_last_error());
  273. if ( stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml") ) {
  274. header("Content-type: application/xhtml+xml;charset=utf-8"); }
  275. else { header("Content-type: text/xml;charset=utf-8");
  276. }
  277. echo "<?xml version='1.0' encoding='utf-8'?>";
  278. echo "<rows>";
  279. echo "<records>".$count."</records>";
  280. while($row = pg_fetch_array($result))
  281. {
  282. $SQLEmenta = pg_query("SELECT descricao FROM Ementa WHERE id_ementa IN (SELECT id_ementa FROM Disciplina WHERE id_disciplina='$row[id_disciplina]')");
  283. $row_aux = pg_fetch_array($SQLEmenta);
  284. $Ementa = $row_aux['descricao'];
  285. echo "<row id='". $row[id_disciplina]."'>";
  286. echo "<cell>".""."</cell>";
  287. echo "<cell>". $row_aux[descricao]."</cell>";
  288. echo "<cell>". $row[nome_materia]."</cell>";
  289. echo "<cell>". $row[nome_disciplina]."</cell>";
  290. echo "<cell>". $row[carga_horaria]."</cell>";
  291. echo "<cell>". $row[num_cred]."</cell>";
  292. /* Seleciona as matérias que são pré-requisto das matérias correntes */
  293. $result_1 = pg_query("SELECT requisito_nome FROM DisciplinaRequisitaDisciplina WHERE nome = '$row[nome_disciplina]'");
  294. $aux='';
  295. /* Colaca as matérias que são pré-requisito em um array. */
  296. while($row_1 = pg_fetch_array($result_1))
  297. {
  298. /* Transforma as matérias que são pré-requisito em uma única string */
  299. $aux = $aux . ', ' . $row_1[requisito_nome];
  300. }
  301. /* Se não houver nenhum pré-requisito, mostra os --- na tela. */
  302. if($aux == '')
  303. $aux = '---';
  304. else
  305. {
  306. /* Remove a vírgula inicial da string*/
  307. $aux = substr($aux, 1);
  308. /* Retira os espaços do começo e do fim*/
  309. $aux = trim($aux);
  310. }
  311. echo "<cell>". $aux."</cell>";
  312. echo "</row>";
  313. }
  314. echo "</rows>";
  315. break;
  316. case "grid_buscar_grade6":
  317. //Recebe as variáveis do datastring
  318. $request_id_grade = trim(($_REQUEST['id_grade']));
  319. $idGrade = $request_id_grade{strlen($request_id_grade)-1};
  320. //echo gettype($idGrade);
  321. /* Se nenhuma grade foi selecionada, mostra as disciplinas da grade mais atual */
  322. if ($idGrade == "")
  323. {
  324. $aux=pg_query("SELECT MAX(id_grade) AS id_grade FROM GradeCurricular");
  325. $row_aux = pg_fetch_array($aux);
  326. $idGrade = $row_aux['id_grade'];
  327. }
  328. $result = pg_query("SELECT COUNT(*) AS count FROM Disciplina NATURAL JOIN DisciplinaGradeCurricular WHERE (semestre='6' AND optativa='1' AND id_grade = '$idGrade')");
  329. $row = pg_fetch_array($result);
  330. $count = $row['count'];
  331. $SQL = "SELECT D.id_disciplina AS id_disciplina, M.nome AS nome_materia, D.nome AS nome_disciplina, carga_horaria, num_cred FROM materia M JOIN Disciplina D ON M.id_materia=D.id_materia WHERE (semestre='6' AND optativa='1' AND D.nome IN (SELECT nome FROM DisciplinaGradeCurricular WHERE id_grade = '$idGrade')) ORDER BY M.nome";
  332. $result = pg_query( $SQL ) or die("Couldn t execute query.".pq_last_error());
  333. if ( stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml") ) {
  334. header("Content-type: application/xhtml+xml;charset=utf-8"); }
  335. else { header("Content-type: text/xml;charset=utf-8");
  336. }
  337. echo "<?xml version='1.0' encoding='utf-8'?>";
  338. echo "<rows>";
  339. echo "<page>".$page."</page>";
  340. echo "<total>".$total_pages."</total>";
  341. echo "<records>".$count."</records>";
  342. while($row = pg_fetch_array($result))
  343. {
  344. $SQLEmenta = pg_query("SELECT descricao FROM Ementa WHERE id_ementa IN (SELECT id_ementa FROM Disciplina WHERE id_disciplina='$row[id_disciplina]')");
  345. $row_aux = pg_fetch_array($SQLEmenta);
  346. $Ementa = $row_aux['descricao'];
  347. echo "<row id='". $row[id_disciplina]."'>";
  348. echo "<cell>".""."</cell>";
  349. echo "<cell>". $row_aux[descricao]."</cell>";
  350. echo "<cell>". $row[nome_materia]."</cell>";
  351. echo "<cell>". $row[nome_disciplina]."</cell>";
  352. echo "<cell>". $row[carga_horaria]."</cell>";
  353. echo "<cell>". $row[num_cred]."</cell>";
  354. /* Seleciona as matérias que são pré-requisto das matérias correntes */
  355. $result_1 = pg_query("SELECT requisito_nome FROM DisciplinaRequisitaDisciplina WHERE nome = '$row[nome_disciplina]'");
  356. $aux='';
  357. /* Colaca as matérias que são pré-requisito em um array. */
  358. while($row_1 = pg_fetch_array($result_1))
  359. {
  360. /* Transforma as matérias que são pré-requisito em uma única string */
  361. $aux = $aux . ', ' . $row_1[requisito_nome];
  362. }
  363. /* Se não houver nenhum pré-requisito, mostra os --- na tela. */
  364. if($aux == '')
  365. $aux = '---';
  366. else
  367. {
  368. /* Remove a vírgula inicial da string*/
  369. $aux = substr($aux, 1);
  370. /* Retira os espaços do começo e do fim*/
  371. $aux = trim($aux);
  372. }
  373. echo "<cell>". $aux."</cell>";
  374. echo "</row>";
  375. }
  376. echo "</rows>";
  377. break;
  378. case "grid_buscar_grade7":
  379. //Recebe as variáveis do datastring
  380. $request_id_grade = trim(($_REQUEST['id_grade']));
  381. $idGrade = $request_id_grade{strlen($request_id_grade)-1};
  382. //echo gettype($idGrade);
  383. /* Se nenhuma grade foi selecionada, mostra as disciplinas da grade mais atual */
  384. if ($idGrade == "")
  385. {
  386. $aux=pg_query("SELECT MAX(id_grade) AS id_grade FROM GradeCurricular");
  387. $row_aux = pg_fetch_array($aux);
  388. $idGrade = $row_aux['id_grade'];
  389. }
  390. $result = pg_query("SELECT COUNT(*) AS count FROM Disciplina NATURAL JOIN DisciplinaGradeCurricular WHERE (semestre='7' AND optativa='1' AND id_grade = '$idGrade')");
  391. $row = pg_fetch_array($result);
  392. $count = $row['count'];
  393. $SQL = "SELECT D.id_disciplina AS id_disciplina, M.nome AS nome_materia, D.nome AS nome_disciplina, carga_horaria, num_cred FROM materia M JOIN Disciplina D ON M.id_materia=D.id_materia WHERE (semestre='7' AND optativa='1' AND D.nome IN (SELECT nome FROM DisciplinaGradeCurricular WHERE id_grade = '$idGrade')) ORDER BY M.nome";
  394. $result = pg_query( $SQL ) or die("Couldn t execute query.".pq_last_error());
  395. if ( stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml") ) {
  396. header("Content-type: application/xhtml+xml;charset=utf-8"); }
  397. else { header("Content-type: text/xml;charset=utf-8");
  398. }
  399. echo "<?xml version='1.0' encoding='utf-8'?>";
  400. echo "<rows>";
  401. echo "<page>".$page."</page>";
  402. echo "<total>".$total_pages."</total>";
  403. echo "<records>".$count."</records>";
  404. while($row = pg_fetch_array($result))
  405. {
  406. $SQLEmenta = pg_query("SELECT descricao FROM Ementa WHERE id_ementa IN (SELECT id_ementa FROM Disciplina WHERE id_disciplina='$row[id_disciplina]')");
  407. $row_aux = pg_fetch_array($SQLEmenta);
  408. $Ementa = $row_aux['descricao'];
  409. echo "<row id='". $row[id_disciplina]."'>";
  410. echo "<cell>".""."</cell>";
  411. echo "<cell>". $row_aux[descricao]."</cell>";
  412. echo "<cell>". $row[nome_materia]."</cell>";
  413. echo "<cell>". $row[nome_disciplina]."</cell>";
  414. echo "<cell>". $row[carga_horaria]."</cell>";
  415. echo "<cell>". $row[num_cred]."</cell>";
  416. /* Seleciona as matérias que são pré-requisto das matérias correntes */
  417. $result_1 = pg_query("SELECT requisito_nome FROM DisciplinaRequisitaDisciplina WHERE nome = '$row[nome_disciplina]'");
  418. $aux='';
  419. /* Colaca as matérias que são pré-requisito em um array. */
  420. while($row_1 = pg_fetch_array($result_1))
  421. {
  422. /* Transforma as matérias que são pré-requisito em uma única string */
  423. $aux = $aux . ', ' . $row_1[requisito_nome];
  424. }
  425. /* Se não houver nenhum pré-requisito, mostra os --- na tela. */
  426. if($aux == '')
  427. $aux = '---';
  428. else
  429. {
  430. /* Remove a vírgula inicial da string*/
  431. $aux = substr($aux, 1);
  432. /* Retira os espaços do começo e do fim*/
  433. $aux = trim($aux);
  434. }
  435. echo "<cell>". $aux."</cell>";
  436. echo "</row>";
  437. }
  438. echo "</rows>";
  439. break;
  440. case "grid_buscar_grade8":
  441. //Recebe as variáveis do datastring
  442. $request_id_grade = trim(($_REQUEST['id_grade']));
  443. $idGrade = $request_id_grade{strlen($request_id_grade)-1};
  444. //echo gettype($idGrade);
  445. /* Se nenhuma grade foi selecionada, mostra as disciplinas da grade mais atual */
  446. if ($idGrade == "")
  447. {
  448. $aux=pg_query("SELECT MAX(id_grade) AS id_grade FROM GradeCurricular");
  449. $row_aux = pg_fetch_array($aux);
  450. $idGrade = $row_aux['id_grade'];
  451. }
  452. $result = pg_query("SELECT COUNT(*) AS count FROM Disciplina NATURAL JOIN DisciplinaGradeCurricular WHERE (semestre='8' AND optativa='1' AND id_grade = '$idGrade')");
  453. $row = pg_fetch_array($result);
  454. $count = $row['count'];
  455. $SQL = "SELECT D.id_disciplina AS id_disciplina, M.nome AS nome_materia, D.nome AS nome_disciplina, carga_horaria, num_cred FROM materia M JOIN Disciplina D ON M.id_materia=D.id_materia WHERE (semestre='8' AND optativa='1' AND D.nome IN (SELECT nome FROM DisciplinaGradeCurricular WHERE id_grade = '$idGrade')) ORDER BY M.nome";
  456. $result = pg_query( $SQL ) or die("Couldn t execute query.".pq_last_error());
  457. if ( stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml") ) {
  458. header("Content-type: application/xhtml+xml;charset=utf-8"); }
  459. else { header("Content-type: text/xml;charset=utf-8");
  460. }
  461. echo "<?xml version='1.0' encoding='utf-8'?>";
  462. echo "<rows>";
  463. echo "<page>".$page."</page>";
  464. echo "<total>".$total_pages."</total>";
  465. echo "<records>".$count."</records>";
  466. while($row = pg_fetch_array($result))
  467. {
  468. $SQLEmenta = pg_query("SELECT descricao FROM Ementa WHERE id_ementa IN (SELECT id_ementa FROM Disciplina WHERE id_disciplina='$row[id_disciplina]')");
  469. $row_aux = pg_fetch_array($SQLEmenta);
  470. $Ementa = $row_aux['descricao'];
  471. echo "<row id='". $row[id_disciplina]."'>";
  472. echo "<cell>".""."</cell>";
  473. echo "<cell>". $row_aux[descricao]."</cell>";
  474. echo "<cell>". $row[nome_materia]."</cell>";
  475. echo "<cell>". $row[nome_disciplina]."</cell>";
  476. echo "<cell>". $row[carga_horaria]."</cell>";
  477. echo "<cell>". $row[num_cred]."</cell>";
  478. /* Seleciona as matérias que são pré-requisto das matérias correntes */
  479. $result_1 = pg_query("SELECT requisito_nome FROM DisciplinaRequisitaDisciplina WHERE nome = '$row[nome_disciplina]'");
  480. $aux='';
  481. /* Colaca as matérias que são pré-requisito em um array. */
  482. while($row_1 = pg_fetch_array($result_1))
  483. {
  484. /* Transforma as matérias que são pré-requisito em uma única string */
  485. $aux = $aux . ', ' . $row_1[requisito_nome];
  486. }
  487. /* Se não houver nenhum pré-requisito, mostra os --- na tela. */
  488. if($aux == '')
  489. $aux = '---';
  490. else
  491. {
  492. /* Remove a vírgula inicial da string*/
  493. $aux = substr($aux, 1);
  494. /* Retira os espaços do começo e do fim*/
  495. $aux = trim($aux);
  496. }
  497. echo "<cell>". $aux."</cell>";
  498. echo "</row>";
  499. }
  500. echo "</rows>";
  501. break;
  502. case "grid_buscar_grade_optativa":
  503. //Recebe as variáveis do datastring
  504. $request_id_grade = trim(($_REQUEST['id_grade']));
  505. $idGrade = $request_id_grade{strlen($request_id_grade)-1};
  506. //echo gettype($idGrade);
  507. /* Se nenhuma grade foi selecionada, mostra as disciplinas da grade mais atual */
  508. if ($idGrade == "")
  509. {
  510. $aux=pg_query("SELECT MAX(id_grade) AS id_grade FROM GradeCurricular");
  511. $row_aux = pg_fetch_array($aux);
  512. $idGrade = $row_aux['id_grade'];
  513. }
  514. $result = pg_query("SELECT COUNT(*) AS count FROM Disciplina NATURAL JOIN DisciplinaGradeCurricular WHERE (optativa='2' AND id_grade = '$idGrade')");
  515. $row = pg_fetch_array($result);
  516. $count = $row['count'];
  517. $SQL = "SELECT D.id_disciplina AS id_disciplina, M.nome AS nome_materia, D.nome AS nome_disciplina, carga_horaria, num_cred FROM materia M JOIN Disciplina D ON M.id_materia=D.id_materia WHERE (optativa='2' AND D.nome IN (SELECT nome FROM DisciplinaGradeCurricular WHERE id_grade = '$idGrade')) ORDER BY M.nome";
  518. $result = pg_query( $SQL ) or die("Couldn t execute query.".pq_last_error());
  519. if ( stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml") ) {
  520. header("Content-type: application/xhtml+xml;charset=utf-8"); }
  521. else { header("Content-type: text/xml;charset=utf-8");
  522. }
  523. echo "<?xml version='1.0' encoding='utf-8'?>";
  524. echo "<rows>";
  525. echo "<page>".$page."</page>";
  526. echo "<total>".$total_pages."</total>";
  527. echo "<records>".$count."</records>";
  528. while($row = pg_fetch_array($result))
  529. {
  530. $SQLEmenta = pg_query("SELECT descricao FROM Ementa WHERE id_ementa IN (SELECT id_ementa FROM Disciplina WHERE id_disciplina='$row[id_disciplina]')");
  531. $row_aux = pg_fetch_array($SQLEmenta);
  532. $Ementa = $row_aux['descricao'];
  533. echo "<row id='". $row[id_disciplina]."'>";
  534. echo "<cell>".""."</cell>";
  535. echo "<cell>". $row_aux[descricao]."</cell>";
  536. echo "<cell>". $row[nome_materia]."</cell>";
  537. echo "<cell>". $row[nome_disciplina]."</cell>";
  538. echo "<cell>". $row[semestre]."</cell>";
  539. echo "<cell>". $row[carga_horaria]."</cell>";
  540. echo "<cell>". $row[num_cred]."</cell>";
  541. /* Seleciona as matérias que são pré-requisto das matérias correntes */
  542. $result_1 = pg_query("SELECT requisito_nome FROM DisciplinaRequisitaDisciplina WHERE nome = '$row[nome_disciplina]'");
  543. $aux='';
  544. /* Colaca as matérias que são pré-requisito em um array. */
  545. while($row_1 = pg_fetch_array($result_1))
  546. {
  547. /* Transforma as matérias que são pré-requisito em uma única string */
  548. $aux = $aux . ', ' . $row_1[requisito_nome];
  549. }
  550. /* Se não houver nenhum pré-requisito, mostra os --- na tela. */
  551. if($aux == '')
  552. $aux = '---';
  553. else
  554. {
  555. /* Remove a vírgula inicial da string*/
  556. $aux = substr($aux, 1);
  557. /* Retira os espaços do começo e do fim*/
  558. $aux = trim($aux);
  559. }
  560. echo "<cell>". $aux."</cell>";
  561. echo "</row>";
  562. }
  563. echo "</rows>";
  564. break;
  565. }
  566. }
  567. //Fecha conexão com o banco de dados
  568. pg_close();
  569. ?>