forms.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <?php
  2. /**
  3. * Este arquivo é parte do software linequest
  4. * Ambiente de questionários para a coleta de dados
  5. *
  6. * Laboratório de Informática na Educação - LInE
  7. * https://www.usp.br/line/
  8. *
  9. * Utilize os atributos definidos abaixo para
  10. * configurar o ambiente de questionários.
  11. *
  12. * @author Lucas Calion
  13. * @author Igor Félix
  14. */
  15. require_once ('../config/linequest.php');
  16. function connect () {
  17. global $CFG, $DB;
  18. $DB = new mysqli($CFG->dbhost, $CFG->dbuser, $CFG->dbpass, $CFG->dbname);
  19. if ($DB->connect_error) {
  20. die("Connection failed: " . $DB->connect_error);
  21. }
  22. $DB->set_charset("utf8");
  23. }
  24. function store ($data) {
  25. global $DB; connect();
  26. $sql = "INSERT INTO records (id, form)
  27. VALUES (null, ?)";
  28. if (!($stmt = $DB->prepare($sql))) {
  29. echo "Prepare failed: (" . $DB->errno . ") " . $DB->error;
  30. }
  31. if (!$stmt->bind_param("s", $data)) {
  32. echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
  33. }
  34. if (!$stmt->execute()) {
  35. echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
  36. }
  37. $DB->close();
  38. }
  39. function get_forms () {
  40. global $DB; connect();
  41. $sql = "SELECT form FROM records";
  42. if (!($stmt = $DB->prepare($sql))) {
  43. echo "Prepare failed: (" . $DB->errno . ") " . $DB->error;
  44. }
  45. $stmt->execute();
  46. $res_data = mysqli_stmt_get_result($stmt);
  47. $all_forms = array();
  48. while($row = mysqli_fetch_array($res_data)){
  49. $data = json_decode($row['form']);
  50. if(!in_array($data->form, $all_forms)){
  51. $all_forms[] = $data->form;
  52. }
  53. }
  54. sort($all_forms);
  55. return $all_forms;
  56. }
  57. function get_total_rows ($form_id) {
  58. global $DB; connect();
  59. $sql = "SELECT form FROM records";
  60. if (!($stmt = $DB->prepare($sql))) {
  61. echo "Prepare failed: (" . $DB->errno . ") " . $DB->error;
  62. }
  63. $stmt->execute();
  64. $res_data = mysqli_stmt_get_result($stmt);
  65. $count = 0;
  66. while($row = mysqli_fetch_array($res_data)){
  67. $data = json_decode($row['form']);
  68. if ($data->form == $form_id) {
  69. $count ++;
  70. }
  71. }
  72. return $count;
  73. }
  74. function get_records_pagination($form_id, $offset, $no_of_records_per_page) {
  75. global $DB; connect();
  76. $sql = "SELECT * FROM records";
  77. if (!($stmt = $DB->prepare($sql))) {
  78. echo "Prepare failed: (" . $DB->errno . ") " . $DB->error;
  79. }
  80. $stmt->execute();
  81. $res_data = mysqli_stmt_get_result($stmt);
  82. $all_data = array();
  83. $count = 0;
  84. $included = 0;
  85. while($row = mysqli_fetch_array($res_data)){
  86. $data = json_decode($row['form']);
  87. if ($data->form == $form_id) {
  88. $data->id = $row['id'];
  89. $count++;
  90. if ($count-1 >= $offset) {
  91. $included ++;
  92. if ($included-1 == $no_of_records_per_page) break;
  93. $all_data[] = $data;
  94. }
  95. }
  96. }
  97. return $all_data;
  98. }
  99. ?>