PageRenderTime 43ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/app/models/m_dijaki.php

https://gitlab.com/diplomskaoiv/oiv
PHP | 266 lines | 124 code | 90 blank | 52 comment | 16 complexity | 441e45188e091fe6bc29b3a2660e0b79 MD5 | raw file
  1. <?php
  2. class m_dijaki extends Model{
  3. public function index($leto){
  4. $connection = $this->connect();
  5. // Prepare statement
  6. $stmt = $connection->prepare("SELECT dijak.id,dijak.ime,dijak.priimek,dijak_oddelek.oddelek FROM dijak INNER JOIN dijak_oddelek ON (dijak.id = dijak_oddelek.dijak_id AND dijak_oddelek.leto = ?) ORDER BY dijak_oddelek.oddelek ASC,dijak.priimek ASC,dijak.ime ASC;");
  7. // Return any errors
  8. if($stmt === false) {
  9. trigger_error("SQL error: " . $connection->error, E_USER_ERROR);
  10. }
  11. // Bind parameters; s = string, i = integer, d = double,  b = blob
  12. $stmt->bind_param('i',$leto);
  13. // Execute statement
  14. $stmt->execute();
  15. // Put result into variables
  16. $stmt->bind_result($id,$ime,$priimek,$oddelek);
  17. // create data array
  18. $data = [];
  19. // push data into array
  20. while ($stmt->fetch()) {
  21. array_push($data,["oddelek" => $oddelek,"id" => $id,"ime" => $ime,"priimek" => $priimek]);
  22. }
  23. // return data
  24. return $data;
  25. // Clear memory
  26. $stmt->close();
  27. }
  28. public function returnDijak(&$data){
  29. $connection = $this->connect();
  30. // Prepare statement
  31. $stmt = $connection->prepare("SELECT dijak.ime,dijak.priimek,dijak_oddelek.oddelek FROM dijak INNER JOIN dijak_oddelek ON (dijak.id = dijak_oddelek.dijak_id) WHERE dijak.id = ? AND dijak_oddelek.leto = ?");
  32. // Return any errors
  33. if($stmt === false) {
  34. trigger_error("SQL error: " . $connection->error, E_USER_ERROR);
  35. }
  36. // Bind parameters; s = string, i = integer, d = double,  b = blob
  37. $stmt->bind_param('ii',$data['id'],$_SESSION['leto']);
  38. // Execute statement
  39. $stmt->execute();
  40. // Put result into variables
  41. $stmt->bind_result($ime,$priimek,$oddelek);
  42. // push data into array
  43. while ($stmt->fetch()) {
  44. $data['ime'] = $ime;
  45. $data['priimek'] = $priimek;
  46. $data['oddelek'] = $oddelek;
  47. }
  48. // Clear memory
  49. $stmt->close();
  50. }
  51. public function opravljeneDejavnosti(&$data){
  52. $connection = $this->connect();
  53. // Prepare statement
  54. $stmt = $connection->prepare("SELECT dejavnost.id,dejavnost.naziv,dejavnost.ure,dejavnost.tip,kategorija.naziv FROM dijak_dejavnost INNER JOIN dejavnost ON (dijak_dejavnost.dejavnost_id = dejavnost.id) INNER JOIN kategorija_leto ON (dejavnost.kategorija_id = kategorija_leto.kategorija_id) INNER JOIN kategorija ON (kategorija_leto.kategorija_id = kategorija.id)
  55. WHERE dijak_dejavnost.dijak_id = ? AND kategorija_leto.leto = ? AND dejavnost.realizirano IN (1,0) ORDER BY dejavnost.tip DESC, kategorija.naziv ASC, dejavnost.id DESC");
  56. // Return any errors
  57. if($stmt === false) {
  58. trigger_error("SQL error: " . $connection->error, E_USER_ERROR);
  59. }
  60. // Bind parameters; s = string, i = integer, d = double,  b = blob
  61. $stmt->bind_param('ii',$data['id'],$_SESSION['leto']);
  62. // Execute statement
  63. $stmt->execute();
  64. // Put result into variables
  65. $stmt->bind_result($d_id,$d_naziv,$d_ure,$d_tip,$k_naziv);
  66. $data['tip_0'] = 0;
  67. $data['tip_1'] = 0;
  68. // push data into array
  69. while ($stmt->fetch()) {
  70. $data['dejavnosti'][$d_id]['naziv'] = $d_naziv;
  71. $data['dejavnosti'][$d_id]['ure'] = $d_ure;
  72. $data['dejavnosti'][$d_id]['tip'] = $d_tip;
  73. $data['dejavnosti'][$d_id]['kategorija'] = $k_naziv;
  74. $data['tip_'.$d_tip] += $d_ure;
  75. }
  76. // Clear memory
  77. $stmt->close();
  78. }
  79. public function returnOddelki(&$data){
  80. $connection = $this->connect();
  81. // Prepare statement
  82. $stmt = $connection->prepare("SELECT naziv FROM oddelek");
  83. // Return any errors
  84. if($stmt === false) {
  85. trigger_error("SQL error: " . $connection->error, E_USER_ERROR);
  86. }
  87. // Execute statement
  88. $stmt->execute();
  89. // Put result into variables
  90. $stmt->bind_result($oddelek);
  91. // push data into array
  92. while ($stmt->fetch()) {
  93. $data['oddelki'][$oddelek] = $oddelek;
  94. }
  95. // Clear memory
  96. $stmt->close();
  97. }
  98. public function addDijak(&$data){
  99. $connection = $this->connect();
  100. // Prepare statement
  101. $stmt = $connection->prepare("INSERT INTO dijak (id,ime,priimek) VALUES (?,?,?)");
  102. // Return any errors
  103. if($stmt === false) {
  104. trigger_error("SQL error: " . $connection->error, E_USER_ERROR);
  105. }
  106. // Bind parameters; s = string, i = integer, d = double,  b = blob
  107. $stmt->bind_param('iss',$data['id'],$data['ime'],$data['priimek']);
  108. // Execute statement
  109. $stmt->execute();
  110. $result = $stmt->affected_rows;
  111. $data['id'] = $stmt->insert_id;
  112. if($result > 0){
  113. $connection = $this->connect();
  114. // Prepare statement
  115. $stmt = $connection->prepare("INSERT INTO dijak_oddelek (dijak_id,oddelek,leto) VALUES (?,?,?)");
  116. // Return any errors
  117. if($stmt === false) {
  118. trigger_error("SQL error: " . $connection->error, E_USER_ERROR);
  119. }
  120. // Bind parameters; s = string, i = integer, d = double,  b = blob
  121. $stmt->bind_param('isi',$data['id'],$data['oddelek'],$_SESSION['leto']);
  122. // Execute statement
  123. $stmt->execute();
  124. }
  125. // Clear memory
  126. $stmt->close();
  127. return $result;
  128. }
  129. public function changeDijak(&$data){
  130. $connection = $this->connect();
  131. // Prepare statement
  132. $stmt = $connection->prepare("UPDATE dijak SET id=?,ime=?,priimek=? WHERE id = ?");
  133. // Return any errors
  134. if($stmt === false) {
  135. trigger_error("SQL error: " . $connection->error, E_USER_ERROR);
  136. }
  137. // Bind parameters; s = string, i = integer, d = double,  b = blob
  138. $stmt->bind_param('issi',$data['id'],$data['ime'],$data['priimek'],$data['old_id']);
  139. // Execute statement
  140. $stmt->execute();
  141. $result = $stmt->affected_rows;
  142. // Clear memory
  143. $stmt->close();
  144. $stmt = $connection->prepare("UPDATE dijak_oddelek SET oddelek=? WHERE dijak_id = ?");
  145. // Return any errors
  146. if($stmt === false) {
  147. trigger_error("SQL error: " . $connection->error, E_USER_ERROR);
  148. }
  149. // Bind parameters; s = string, i = integer, d = double,  b = blob
  150. $stmt->bind_param('si',$data['oddelek'],$data['old_id']);
  151. // Execute statement
  152. $stmt->execute();
  153. if($result == 0)
  154. $result = $stmt->affected_rows;
  155. // Clear memory
  156. $stmt->close();
  157. return $result;
  158. }
  159. public function deleteDijak($id){
  160. $connection = $this->connect();
  161. // Prepare statement
  162. $stmt = $connection->prepare("DELETE FROM dijak WHERE id = ?");
  163. // Return any errors
  164. if($stmt === false) {
  165. trigger_error("SQL error: " . $connection->error, E_USER_ERROR);
  166. }
  167. // Bind parameters; s = string, i = integer, d = double,  b = blob
  168. $stmt->bind_param('i',$id);
  169. // Execute statement
  170. $stmt->execute();
  171. $result = $stmt->affected_rows;
  172. // Clear memory
  173. $stmt->close();
  174. return $result;
  175. }
  176. }