Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Model {
- private $pdocon;
- private $dsn, $username, $password;
- function __construct() {
- $this->dsn = 'mysql:host=utb-mysql.du.se;dbname=db30';
- $this->username = 'db30';
- $this->password = 'FJJAcyMU';
- }
- private function openConnection() {
- try {
- if ($this->pdocon == NULL) {
- $options = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");
- $this->pdocon = new PDO($this->dsn, $this->username, $this->password, $options);
- }
- } catch (PDOException $ex) {
- $this->pdocon = NULL;
- throw new Exception('DATABASFEL');
- }
- }
- public function getTableData() {
- //h14josid_getAll()
- try {
- $this->openConnection();
- //2. Preparerar en sql fråga
- $pdoStatement = $this->pdocon->prepare('CALL h14josid_getTableData()');
- //VANLIG SQL:
- //'SELECT * FROM h14josid_dawatenta'
- //STORED PROCEDURE:
- //CREATE PROCEDURE h14josid_getTableData()
- //BEGIN
- //SELECT * FROM h14josid_dawatenta
- //ORDER BY aktivitet ASC;
- //END##
- //3. Exekverar frågan
- $pdoStatement->execute();
- //4.hämtar resultat till en array
- $productArray = $pdoStatement->fetchAll();
- //5. Stänger uppkopplingen
- $this->pdocon = NULL;
- //returnerar arrayen med resultatet
- return $productArray;
- } catch (Exception $ex) {
- }
- }
- public function addItem($checkboxvalue) {
- //h14josid_addItem
- $this->openConnection();
- //2. Preparerar en sql fråga
- $pdoStatement = $this->pdocon->prepare('INSERT INTO h14josid_dawatenta (aktivitet, datum, gjord, bild) VALUES (:aktivitet, :datum, :gjord, :bild)');
- //VANLIG SQL:
- //'INSERT INTO h14josid_dawatenta (aktivitet, datum, gjord) VALUES (:aktivitet, :datum, :gjord)'
- //STORED PROCEDURE:
- //CREATE PROCEDURE h14josid_addItem(IN p_aktivitet VARCHAR(250), p_datum DATE(20), p_gjord INT(2))
- //BEGIN
- //INSERT INTO h14josid_dawatenta(aktivitet, datum, gjord)
- //VALUES(p_aktivitet, p_datum, p_gjord);
- //END##
- //Hämtar dagens datum och formaterar den
- $date = date("Y/m/d");
- //$pdoStatement->bindParam(':id',filter_var($_POST['id'], FILTER_SANITIZE_STRING));
- $pdoStatement->bindParam(':aktivitet', filter_var($_POST['aktivitet'], FILTER_SANITIZE_STRING));
- $pdoStatement->bindParam(':datum', $date);
- $pdoStatement->bindParam(':gjord', $checkboxvalue);
- $pdoStatement->bindParam(':bild', filter_var($_POST['bild'], FILTER_SANITIZE_STRING));
- //$pdoStatement->bindParam(':datum',filter_var($_POST['date'], FILTER_SANITIZE_STRING));
- //$pdoStatement->bindParam(':aktivitet',filter_var($_POST['activity'], FILTER_SANITIZE_STRING));
- //$pdoStatement->bindParam(':datum', date("YY/MM/DD"));
- //$pdoStatement->bindParam(':gjord',"Nej");
- //3. Exekverar frågan
- $pdoStatement->execute();
- //5. Stänger uppkopplingen
- $this->pdocon = NULL;
- }
- public function updateItemYes($id) {
- // h14jonas_updateItem
- $this->openConnection();
- //2. Preparerar en sql fråga
- $pdoStatement = $this->pdocon->prepare('CALL h14josid_updateItemYes(:id, :gjord)');
- //$pdoStatement = $this->pdocon->prepare('UPDATE h14josid_dawatenta SET gjord=1 WHERE id=:id');
- //VANLIG SQL:
- //'UPDATE h14josid_dawatenta SET gjord=:gjord WHERE id=:id'
- //STORED PROCEDURE:
- //CREATE PROCEDURE h14josid_updateItemYes(IN p_id INT(10), p_gjord INT(2))
- //BEGIN
- //UPDATE h14josid_dawatenta SET gjord = p_gjord WHERE id = p_id;
- //END##
- $pdoStatement->bindParam(':id', $id);
- $checkboxvalue = ("1");
- $pdoStatement->bindParam(':gjord', $checkboxvalue);
- $pdoStatement->execute();
- $this->pdocon = NULL;
- }
- public function updateItemNo($id) {
- $this->openConnection();
- //2. Preparerar en sql fråga
- $pdoStatement = $this->pdocon->prepare('CALL h14josid_updateItemYes(:id, :gjord)');
- //$pdoStatement = $this->pdocon->prepare('UPDATE h14josid_dawatenta SET gjord=1 WHERE id=:id');
- //VANLIG SQL:
- //'UPDATE h14josid_dawatenta SET gjord=:gjord WHERE id=:id'
- //STORED PROCEDURE:
- //CREATE PROCEDURE h14josid_updateItemYes(IN p_id INT(10), p_gjord INT(2))
- //BEGIN
- //UPDATE h14josid_dawatenta SET gjord = p_gjord WHERE id = p_id;
- //END##
- $pdoStatement->bindParam(':id', $id);
- $checkboxvalue = ("0");
- $pdoStatement->bindParam(':gjord', $checkboxvalue);
- $pdoStatement->execute();
- $this->pdocon = NULL;
- }
- public function updateItem() {
- $this->openConnection();
- //2. Preparerar en sql fråga
- //$pdoStatement = $this->pdocon->prepare('CALL h14josid_updateItemYes(:id, :gjord)');
- $pdoStatement = $this->pdocon->prepare('UPDATE h14josid_dawatenta SET aktivitet = :p_aktivitet, datum = :p_datum, bild = :p_bild WHERE id = :p_id');
- //VANLIG SQL:
- //'UPDATE h14josid_dawatenta SET gjord=:gjord WHERE id=:id'
- //STORED PROCEDURE:
- //CREATE PROCEDURE h14josid_updateItemYes(IN p_id INT(10), p_gjord INT(2))
- //BEGIN
- //UPDATE h14josid_dawatenta SET gjord = p_gjord WHERE id = p_id;
- //END##
- $pdoStatement->bindParam(':p_id', filter_var($_POST['id'], FILTER_SANITIZE_STRING));
- $pdoStatement->bindParam(':p_aktivitet', filter_var($_POST['aktivitet'], FILTER_SANITIZE_STRING));
- $pdoStatement->bindParam(':p_datum', filter_var($_POST['datum'], FILTER_SANITIZE_STRING));
- $pdoStatement->bindParam(':p_bild', filter_var($_POST['bild'], FILTER_SANITIZE_STRING));
- $pdoStatement->execute();
- $this->pdocon = NULL;
- }
- public function getLike($id) {
- $this->openConnection();
- $pdoStatement = $this->pdocon->prepare('CALL h14josid_getLikes(:id)');
- //VANLIG SQL:
- //'UPDATE h14josid_dawatenta SET like = like +1 WHERE id = :id'
- //STORED PROCEDURE:
- //CREATE PROCEDURE `h14josid_getLike`(
- //IN p_id VARCHAR(5))
- //BEGIN
- //UPDATE `h14josid_dawatenta` SET `like` = `like` + 1 WHERE `id` = p_id;
- //END##
- $pdoStatement->bindParam(':id', $id);
- $pdoStatement->execute();
- $this->pdocon = NULL;
- }
- public function getDislike($id) {
- $this->openConnection();
- $pdoStatement = $this->pdocon->prepare('CALL h14josid_getDislikes(:id)');
- //VANLIG SQL:
- //'UPDATE h14josid_dawatenta SET dislike = dislike +1 WHERE id = :id'
- //STORED PROCEDURE:
- //CREATE PROCEDURE `h14josid_getDislike`(
- //IN p_id VARCHAR(5))
- //BEGIN
- //UPDATE `h14josid_dawatenta` SET `dislike` = `dislike` + 1 WHERE `id` = p_id;
- //END##
- $pdoStatement->bindParam(':id', $id);
- $pdoStatement->execute();
- $this->pdocon = NULL;
- }
- public function addKommentar() {
- try {
- //skapar en uppkoppling
- $this->openConnection();
- //skapar upp en sql fråga där vi ska hämta ut allt data som har samma produktid som vi anger
- $pdoStatement = $this->pdocon->prepare('INSERT INTO h14josid_kommentarer (id, kommentar) VALUES (:p_id, :p_kommentar)');
- //VANLIG SQL om det bara ska gå att visa en kommentar
- //$pdoStatement = $this->pdocon->prepare('UPDATE h14josid_dawatenta SET kommentar = :p_kommentar WHERE id = :p_id');
- //VANLIG SQL:
- //'UPDATE h14josid_kommentarer SET kommentar = :p_kommentar WHERE id = :p_id'
- //STORED PROCEDURE:
- //CREATE PROCEDURE h14josid_addKommentar(IN p_id VARCHAR(5), p_kommentar VARCHAR(500))
- //BEGIN
- //INSERT INTO h14josid_kommentarer(id, kommentar)
- //VALUES(p_id, p_kommentar);
- //END##
- //vi ger platshållaren värdet av in-parametern
- $pdoStatement->bindParam(':p_id', filter_var($_POST['id'], FILTER_SANITIZE_STRING));
- $pdoStatement->bindParam(':p_kommentar', filter_var($_POST['kommentar'], FILTER_SANITIZE_STRING));
- //exekverar sql frågan
- $pdoStatement->execute();
- //Lägger in all data vi hämtat i en array
- $produkter = $pdoStatement->fetchAll();
- //stänger uppkopplingen
- $this->pdocon = NULL;
- //returnerar arrayen
- return $produkter;
- } catch (Exception $ex) {
- throw new Exception('Databasfel - det gick inte att hämta databasens innehåll!');
- }
- }
- public function getKomById($id) {
- try {
- //skapar en uppkoppling
- $this->openConnection();
- //skapar upp en sql fråga där vi ska hämta ut allt data som har samma produktid som vi anger
- $pdoStatement = $this->pdocon->prepare('SELECT * FROM h14josid_dawatenta WHERE id = :p_id');
- //VANLIG SQL:
- //'SELECT kommentar, id FROM h14josid_kommentarer WHERE id = :p_id'
- //STORED PROCEDURE:
- //CREATE PROCEDURE h14josid_getKommentar(IN p_id VARCHAR(5))
- //BEGIN
- //SELECT * FROM h14josid_kommentarer
- //WHERE id = p_id;
- //END##
- $pdoStatement->bindParam(':p_id', $id);
- //exekverar sql frågan
- $pdoStatement->execute();
- //Lägger in all data vi hämtat i en array
- $produkter = $pdoStatement->fetchAll();
- //stänger uppkopplingen
- $this->pdocon = NULL;
- //returnerar arrayen
- return $produkter;
- } catch (Exception $ex) {
- throw new Exception('Databasfel - det gick inte att hämta databasens innehåll!');
- }
- }
- public function showKom($id) {
- try {
- //skapar en uppkoppling
- $this->openConnection();
- //skapar upp en sql fråga där vi ska hämta ut allt data som har samma produktid som vi anger
- $pdoStatement = $this->pdocon->prepare('SELECT * FROM h14josid_kommentarer WHERE id = :p_id');
- //VANLIG SQL:
- //'SELECT kommentar, id FROM h14josid_kommentarer WHERE id = :p_id'
- //STORED PROCEDURE:
- //CREATE PROCEDURE h14josid_getKommentar(IN p_id VARCHAR(5))
- //BEGIN
- //SELECT * FROM h14josid_kommentarer
- //WHERE id = p_id;
- //END##
- $pdoStatement->bindParam(':p_id', $id);
- //exekverar sql frågan
- $pdoStatement->execute();
- //Lägger in all data vi hämtat i en array
- $produkter = $pdoStatement->fetchAll();
- //stänger uppkopplingen
- $this->pdocon = NULL;
- //returnerar arrayen
- return $produkter;
- } catch (Exception $ex) {
- throw new Exception('Databasfel - det gick inte att hämta databasens innehåll!');
- }
- }
- public function deleteItem() {
- $this->openConnection();
- $pdoStatement = $this->pdocon->prepare('DELETE FROM h14josid_dawatenta WHERE id = :p_id');
- //VANLIG SQL:
- //'UPDATE h14josid_dawatenta SET dislike = dislike +1 WHERE id = :id'
- //STORED PROCEDURE:
- //CREATE PROCEDURE `h14josid_getDislike`(
- //IN p_id VARCHAR(5))
- //BEGIN
- //UPDATE `h14josid_dawatenta` SET `dislike` = `dislike` + 1 WHERE `id` = p_id;
- //END##
- $pdoStatement->bindParam(':p_id', filter_var($_POST['id'], FILTER_SANITIZE_STRING));
- $pdoStatement->execute();
- $this->pdocon = NULL;
- }
- }
- //END CLASS MODEL
- //$mySQL = new mySQL();
- //var_dump($mySQL->updateItemYes("1","1"));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement