Advertisement
Guest User

Untitled

a guest
Apr 8th, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.72 KB | None | 0 0
  1. <?php
  2.  
  3. class Model {
  4.  
  5. private $pdocon;
  6. private $dsn, $username, $password;
  7.  
  8. function __construct() {
  9. $this->dsn = 'mysql:host=utb-mysql.du.se;dbname=db30';
  10. $this->username = 'db30';
  11. $this->password = 'FJJAcyMU';
  12. }
  13.  
  14. private function openConnection() {
  15. try {
  16. if ($this->pdocon == NULL) {
  17. $options = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");
  18. $this->pdocon = new PDO($this->dsn, $this->username, $this->password, $options);
  19. }
  20. } catch (PDOException $ex) {
  21. $this->pdocon = NULL;
  22. throw new Exception('DATABASFEL');
  23. }
  24. }
  25.  
  26. public function getTableData() {
  27. //h14josid_getAll()
  28. try {
  29. $this->openConnection();
  30. //2. Preparerar en sql fråga
  31. $pdoStatement = $this->pdocon->prepare('CALL h14josid_getTableData()');
  32.  
  33. //VANLIG SQL:
  34.  
  35. //'SELECT * FROM h14josid_dawatenta'
  36.  
  37. //STORED PROCEDURE:
  38.  
  39. //CREATE PROCEDURE h14josid_getTableData()
  40. //BEGIN
  41. //SELECT * FROM h14josid_dawatenta
  42. //ORDER BY aktivitet ASC;
  43. //END##
  44.  
  45. //3. Exekverar frågan
  46. $pdoStatement->execute();
  47. //4.hämtar resultat till en array
  48. $productArray = $pdoStatement->fetchAll();
  49. //5. Stänger uppkopplingen
  50. $this->pdocon = NULL;
  51. //returnerar arrayen med resultatet
  52. return $productArray;
  53. } catch (Exception $ex) {
  54.  
  55. }
  56. }
  57.  
  58. public function addItem($checkboxvalue) {
  59.  
  60. //h14josid_addItem
  61. $this->openConnection();
  62. //2. Preparerar en sql fråga
  63. $pdoStatement = $this->pdocon->prepare('INSERT INTO h14josid_dawatenta (aktivitet, datum, gjord, bild) VALUES (:aktivitet, :datum, :gjord, :bild)');
  64.  
  65. //VANLIG SQL:
  66.  
  67. //'INSERT INTO h14josid_dawatenta (aktivitet, datum, gjord) VALUES (:aktivitet, :datum, :gjord)'
  68.  
  69. //STORED PROCEDURE:
  70.  
  71. //CREATE PROCEDURE h14josid_addItem(IN p_aktivitet VARCHAR(250), p_datum DATE(20), p_gjord INT(2))
  72. //BEGIN
  73. //INSERT INTO h14josid_dawatenta(aktivitet, datum, gjord)
  74. //VALUES(p_aktivitet, p_datum, p_gjord);
  75. //END##
  76.  
  77. //Hämtar dagens datum och formaterar den
  78. $date = date("Y/m/d");
  79.  
  80. //$pdoStatement->bindParam(':id',filter_var($_POST['id'], FILTER_SANITIZE_STRING));
  81. $pdoStatement->bindParam(':aktivitet', filter_var($_POST['aktivitet'], FILTER_SANITIZE_STRING));
  82. $pdoStatement->bindParam(':datum', $date);
  83. $pdoStatement->bindParam(':gjord', $checkboxvalue);
  84. $pdoStatement->bindParam(':bild', filter_var($_POST['bild'], FILTER_SANITIZE_STRING));
  85.  
  86. //$pdoStatement->bindParam(':datum',filter_var($_POST['date'], FILTER_SANITIZE_STRING));
  87. //$pdoStatement->bindParam(':aktivitet',filter_var($_POST['activity'], FILTER_SANITIZE_STRING));
  88. //$pdoStatement->bindParam(':datum', date("YY/MM/DD"));
  89. //$pdoStatement->bindParam(':gjord',"Nej");
  90. //3. Exekverar frågan
  91. $pdoStatement->execute();
  92. //5. Stänger uppkopplingen
  93. $this->pdocon = NULL;
  94. }
  95.  
  96. public function updateItemYes($id) {
  97. // h14jonas_updateItem
  98. $this->openConnection();
  99. //2. Preparerar en sql fråga
  100.  
  101. $pdoStatement = $this->pdocon->prepare('CALL h14josid_updateItemYes(:id, :gjord)');
  102. //$pdoStatement = $this->pdocon->prepare('UPDATE h14josid_dawatenta SET gjord=1 WHERE id=:id');
  103.  
  104. //VANLIG SQL:
  105.  
  106. //'UPDATE h14josid_dawatenta SET gjord=:gjord WHERE id=:id'
  107.  
  108. //STORED PROCEDURE:
  109.  
  110. //CREATE PROCEDURE h14josid_updateItemYes(IN p_id INT(10), p_gjord INT(2))
  111. //BEGIN
  112. //UPDATE h14josid_dawatenta SET gjord = p_gjord WHERE id = p_id;
  113. //END##
  114.  
  115.  
  116. $pdoStatement->bindParam(':id', $id);
  117. $checkboxvalue = ("1");
  118. $pdoStatement->bindParam(':gjord', $checkboxvalue);
  119.  
  120. $pdoStatement->execute();
  121. $this->pdocon = NULL;
  122. }
  123.  
  124. public function updateItemNo($id) {
  125. $this->openConnection();
  126. //2. Preparerar en sql fråga
  127.  
  128. $pdoStatement = $this->pdocon->prepare('CALL h14josid_updateItemYes(:id, :gjord)');
  129. //$pdoStatement = $this->pdocon->prepare('UPDATE h14josid_dawatenta SET gjord=1 WHERE id=:id');
  130.  
  131. //VANLIG SQL:
  132.  
  133. //'UPDATE h14josid_dawatenta SET gjord=:gjord WHERE id=:id'
  134.  
  135. //STORED PROCEDURE:
  136.  
  137. //CREATE PROCEDURE h14josid_updateItemYes(IN p_id INT(10), p_gjord INT(2))
  138. //BEGIN
  139. //UPDATE h14josid_dawatenta SET gjord = p_gjord WHERE id = p_id;
  140. //END##
  141.  
  142. $pdoStatement->bindParam(':id', $id);
  143. $checkboxvalue = ("0");
  144. $pdoStatement->bindParam(':gjord', $checkboxvalue);
  145.  
  146. $pdoStatement->execute();
  147. $this->pdocon = NULL;
  148. }
  149.  
  150. public function updateItem() {
  151.  
  152. $this->openConnection();
  153. //2. Preparerar en sql fråga
  154.  
  155. //$pdoStatement = $this->pdocon->prepare('CALL h14josid_updateItemYes(:id, :gjord)');
  156. $pdoStatement = $this->pdocon->prepare('UPDATE h14josid_dawatenta SET aktivitet = :p_aktivitet, datum = :p_datum, bild = :p_bild WHERE id = :p_id');
  157.  
  158. //VANLIG SQL:
  159.  
  160. //'UPDATE h14josid_dawatenta SET gjord=:gjord WHERE id=:id'
  161.  
  162. //STORED PROCEDURE:
  163.  
  164. //CREATE PROCEDURE h14josid_updateItemYes(IN p_id INT(10), p_gjord INT(2))
  165. //BEGIN
  166. //UPDATE h14josid_dawatenta SET gjord = p_gjord WHERE id = p_id;
  167. //END##
  168.  
  169. $pdoStatement->bindParam(':p_id', filter_var($_POST['id'], FILTER_SANITIZE_STRING));
  170. $pdoStatement->bindParam(':p_aktivitet', filter_var($_POST['aktivitet'], FILTER_SANITIZE_STRING));
  171. $pdoStatement->bindParam(':p_datum', filter_var($_POST['datum'], FILTER_SANITIZE_STRING));
  172. $pdoStatement->bindParam(':p_bild', filter_var($_POST['bild'], FILTER_SANITIZE_STRING));
  173.  
  174. $pdoStatement->execute();
  175. $this->pdocon = NULL;
  176.  
  177. }
  178.  
  179. public function getLike($id) {
  180.  
  181. $this->openConnection();
  182.  
  183. $pdoStatement = $this->pdocon->prepare('CALL h14josid_getLikes(:id)');
  184.  
  185. //VANLIG SQL:
  186.  
  187. //'UPDATE h14josid_dawatenta SET like = like +1 WHERE id = :id'
  188.  
  189. //STORED PROCEDURE:
  190.  
  191. //CREATE PROCEDURE `h14josid_getLike`(
  192. //IN p_id VARCHAR(5))
  193. //BEGIN
  194. //UPDATE `h14josid_dawatenta` SET `like` = `like` + 1 WHERE `id` = p_id;
  195. //END##
  196.  
  197. $pdoStatement->bindParam(':id', $id);
  198.  
  199. $pdoStatement->execute();
  200. $this->pdocon = NULL;
  201. }
  202.  
  203. public function getDislike($id) {
  204.  
  205. $this->openConnection();
  206.  
  207. $pdoStatement = $this->pdocon->prepare('CALL h14josid_getDislikes(:id)');
  208.  
  209. //VANLIG SQL:
  210.  
  211. //'UPDATE h14josid_dawatenta SET dislike = dislike +1 WHERE id = :id'
  212.  
  213. //STORED PROCEDURE:
  214.  
  215. //CREATE PROCEDURE `h14josid_getDislike`(
  216. //IN p_id VARCHAR(5))
  217. //BEGIN
  218. //UPDATE `h14josid_dawatenta` SET `dislike` = `dislike` + 1 WHERE `id` = p_id;
  219. //END##
  220.  
  221. $pdoStatement->bindParam(':id', $id);
  222.  
  223. $pdoStatement->execute();
  224. $this->pdocon = NULL;
  225. }
  226.  
  227. public function addKommentar() {
  228. try {
  229. //skapar en uppkoppling
  230. $this->openConnection();
  231. //skapar upp en sql fråga där vi ska hämta ut allt data som har samma produktid som vi anger
  232. $pdoStatement = $this->pdocon->prepare('INSERT INTO h14josid_kommentarer (id, kommentar) VALUES (:p_id, :p_kommentar)');
  233.  
  234. //VANLIG SQL om det bara ska gå att visa en kommentar
  235. //$pdoStatement = $this->pdocon->prepare('UPDATE h14josid_dawatenta SET kommentar = :p_kommentar WHERE id = :p_id');
  236.  
  237.  
  238. //VANLIG SQL:
  239. //'UPDATE h14josid_kommentarer SET kommentar = :p_kommentar WHERE id = :p_id'
  240.  
  241. //STORED PROCEDURE:
  242.  
  243. //CREATE PROCEDURE h14josid_addKommentar(IN p_id VARCHAR(5), p_kommentar VARCHAR(500))
  244. //BEGIN
  245. //INSERT INTO h14josid_kommentarer(id, kommentar)
  246. //VALUES(p_id, p_kommentar);
  247. //END##
  248.  
  249. //vi ger platshållaren värdet av in-parametern
  250. $pdoStatement->bindParam(':p_id', filter_var($_POST['id'], FILTER_SANITIZE_STRING));
  251. $pdoStatement->bindParam(':p_kommentar', filter_var($_POST['kommentar'], FILTER_SANITIZE_STRING));
  252. //exekverar sql frågan
  253. $pdoStatement->execute();
  254. //Lägger in all data vi hämtat i en array
  255. $produkter = $pdoStatement->fetchAll();
  256. //stänger uppkopplingen
  257. $this->pdocon = NULL;
  258. //returnerar arrayen
  259. return $produkter;
  260. } catch (Exception $ex) {
  261. throw new Exception('Databasfel - det gick inte att hämta databasens innehåll!');
  262. }
  263. }
  264.  
  265. public function getKomById($id) {
  266. try {
  267. //skapar en uppkoppling
  268. $this->openConnection();
  269. //skapar upp en sql fråga där vi ska hämta ut allt data som har samma produktid som vi anger
  270. $pdoStatement = $this->pdocon->prepare('SELECT * FROM h14josid_dawatenta WHERE id = :p_id');
  271.  
  272. //VANLIG SQL:
  273. //'SELECT kommentar, id FROM h14josid_kommentarer WHERE id = :p_id'
  274.  
  275. //STORED PROCEDURE:
  276.  
  277. //CREATE PROCEDURE h14josid_getKommentar(IN p_id VARCHAR(5))
  278. //BEGIN
  279. //SELECT * FROM h14josid_kommentarer
  280. //WHERE id = p_id;
  281. //END##
  282.  
  283.  
  284. $pdoStatement->bindParam(':p_id', $id);
  285. //exekverar sql frågan
  286. $pdoStatement->execute();
  287. //Lägger in all data vi hämtat i en array
  288. $produkter = $pdoStatement->fetchAll();
  289. //stänger uppkopplingen
  290. $this->pdocon = NULL;
  291. //returnerar arrayen
  292. return $produkter;
  293. } catch (Exception $ex) {
  294. throw new Exception('Databasfel - det gick inte att hämta databasens innehåll!');
  295. }
  296. }
  297.  
  298. public function showKom($id) {
  299. try {
  300. //skapar en uppkoppling
  301. $this->openConnection();
  302. //skapar upp en sql fråga där vi ska hämta ut allt data som har samma produktid som vi anger
  303. $pdoStatement = $this->pdocon->prepare('SELECT * FROM h14josid_kommentarer WHERE id = :p_id');
  304.  
  305. //VANLIG SQL:
  306. //'SELECT kommentar, id FROM h14josid_kommentarer WHERE id = :p_id'
  307.  
  308. //STORED PROCEDURE:
  309.  
  310. //CREATE PROCEDURE h14josid_getKommentar(IN p_id VARCHAR(5))
  311. //BEGIN
  312. //SELECT * FROM h14josid_kommentarer
  313. //WHERE id = p_id;
  314. //END##
  315.  
  316.  
  317. $pdoStatement->bindParam(':p_id', $id);
  318. //exekverar sql frågan
  319. $pdoStatement->execute();
  320. //Lägger in all data vi hämtat i en array
  321. $produkter = $pdoStatement->fetchAll();
  322. //stänger uppkopplingen
  323. $this->pdocon = NULL;
  324. //returnerar arrayen
  325. return $produkter;
  326. } catch (Exception $ex) {
  327. throw new Exception('Databasfel - det gick inte att hämta databasens innehåll!');
  328. }
  329. }
  330.  
  331. public function deleteItem() {
  332.  
  333. $this->openConnection();
  334.  
  335. $pdoStatement = $this->pdocon->prepare('DELETE FROM h14josid_dawatenta WHERE id = :p_id');
  336.  
  337.  
  338. //VANLIG SQL:
  339.  
  340. //'UPDATE h14josid_dawatenta SET dislike = dislike +1 WHERE id = :id'
  341.  
  342. //STORED PROCEDURE:
  343.  
  344. //CREATE PROCEDURE `h14josid_getDislike`(
  345. //IN p_id VARCHAR(5))
  346. //BEGIN
  347. //UPDATE `h14josid_dawatenta` SET `dislike` = `dislike` + 1 WHERE `id` = p_id;
  348. //END##
  349.  
  350. $pdoStatement->bindParam(':p_id', filter_var($_POST['id'], FILTER_SANITIZE_STRING));
  351.  
  352.  
  353. $pdoStatement->execute();
  354. $this->pdocon = NULL;
  355. }
  356.  
  357. }
  358.  
  359. //END CLASS MODEL
  360.  
  361.  
  362. //$mySQL = new mySQL();
  363. //var_dump($mySQL->updateItemYes("1","1"));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement