Advertisement
bokunda

baza.php

Feb 13th, 2018
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.90 KB | None | 0 0
  1. <?php
  2.  
  3.     class Kviz_db
  4.     {
  5.        
  6.         private $host = 'localhost';
  7.         private $db_name = 'kviz';
  8.         private $username = 'root';
  9.         private $password = '';
  10.        
  11.         private $dbh;
  12.        
  13.         public function __construct() {
  14.             try
  15.             {
  16.                 $this->konekcioni_string = "mysql:host=$this->host;dbname=$this->db_name";
  17.                 $this->dbh = new PDO($this->konekcioni_string, $this->username, $this->password);
  18.             }
  19.             catch (Exception $ex)
  20.             {
  21.                 echo "GRESKA: ".$ex->getMessage();
  22.             }
  23.         }
  24.        
  25.         public function __destruct() {
  26.             $dbh = null;
  27.         }
  28.        
  29.         public function prikazi_kvizove()
  30.         {
  31.             try
  32.             {
  33.                 $sql = "SELECT * FROM kvizovi";
  34.                
  35.                 $pdo_izraz = $this->dbh->query($sql);
  36.                
  37.                 $niz = $pdo_izraz->fetchAll(PDO::FETCH_ASSOC);
  38.                
  39.                 $div = "<div style='width:280px;height:280px;float:left;border: 1px solid black;'>";
  40.                 $div.= "<h3>Kvizovi</h3>";
  41.                 $div.= "<hr><br>";
  42.                                
  43.                 foreach($niz as $item)
  44.                 {
  45.                     if(isset($_GET['kviz_id']) && $_GET['kviz_id'] == $item['ID'])
  46.                         $div.= "<a href='#' id='".$item['ID']."' onclick='kviz(this.id)'>".$item['naziv']."</a><b> (izabran)</b><br>";  
  47.                     else
  48.                         $div.= "<a href='#' id='".$item['ID']."' onclick='kviz(this.id)'>".$item['naziv']."</a><br>";  
  49.                 }
  50.                
  51.                 $div.= "<br></div>";
  52.                 echo $div;
  53.                
  54.             } catch (Exception $ex)
  55.             {
  56.                 echo "GRESKA: ".$ex->getMessage();
  57.             }
  58.         }
  59.        
  60.         public function uzmi_kvizove()
  61.         {
  62.             $sql = "SELECT * FROM kvizovi";
  63.            
  64.             $pdo_izraz = $this->dbh->query($sql);
  65.            
  66.             $niz = $pdo_izraz->fetchAll(PDO::FETCH_ASSOC);
  67.            
  68.             return $niz;
  69.         }
  70.        
  71.        
  72.         public function prikazi_pitanja_za_kviz($id_kviza)
  73.         {
  74.             try
  75.             {
  76.                 $sql = "SELECT * FROM pitanja WHERE ID_kviza=".$id_kviza;
  77.                
  78.                 $pdo_izraz = $this->dbh->query($sql);
  79.                
  80.                 $niz = $pdo_izraz->fetchAll(PDO::FETCH_ASSOC);
  81.                
  82.                 $div = "<div style='width:280px;height:280px;float:left;border: 1px solid black;'>";
  83.                 $div.= "<h3>Pitanja za izabrani kviz</h3>";
  84.                 $div.= "<input type='button' onclick='dodaj_pitanje(".$_GET['kviz_id'].")' onchange='location.reload();' name='dugme' value='dodaj pitanje'>";
  85.                
  86.                 $div.= "<hr><br>";
  87.                                
  88.                 foreach($niz as $item)
  89.                 {
  90.                     if(isset($_GET['pitanje_id']) && $_GET['pitanje_id'] == $item['ID'])
  91.                         $div.= "<input type='button' id='".$item['ID']."' onclick='obrisi(this.id)' name='izbrisi' value='X' style='color:red;'>  <a href='#' id='".$item['ID']."' onclick='pitanje(this.id)'>".$item['tekst']."</a><b> (izabran)</b><br>";
  92.                     else
  93.                         $div.= "<input type='button' id='".$item['ID']."' onclick='obrisi(this.id)' name='izbrisi' value='X' style='color:red;'> <a href='#' id='".$item['ID']."' onclick='pitanje(this.id)'>".$item['tekst']."</a><br>";
  94.                                            
  95.                 }
  96.                
  97.                 $div.= "<br></div>";
  98.                 echo $div;              
  99.                
  100.             } catch (Exception $ex)
  101.             {
  102.                 echo "GRESKA: ".$ex->getMessage();
  103.             }
  104.         }
  105.        
  106.         public function prikazi_odgovore_za_pitanje($id_pitanja)
  107.         {
  108.             try
  109.             {
  110.                 $sql = "SELECT * FROM odgovori WHERE ID_pitanja=".$id_pitanja;
  111.                
  112.                 $pdo_izraz = $this->dbh->query($sql);
  113.                
  114.                 $niz = $pdo_izraz->fetchAll(PDO::FETCH_ASSOC);
  115.                
  116.                 $div = "<div style='width:280px;height:280px;float:left;border: 1px solid black;'>";
  117.                 $div.= "<h3>Odgovori za izabrano pitanje</h3>";
  118.                                
  119.                 $div.= "<hr><br>";
  120.                                
  121.                 foreach($niz as $item)
  122.                 {
  123.                     //Ja sam napravio da se ponasa bas kao u kvizu, na klik da prikazuje da li je odgovor tacan ili nije, pa sam sada to ispravio.
  124.  
  125.                     /*if(isset($_GET['odgovor_id']) && $_GET['odgovor_id'] == $item['ID'])
  126.                     {*/
  127.                         if($item['tacan_odgovor'] == 0)
  128.                             $tacan = "<b>netacno</b>";
  129.                         else
  130.                             $tacan = "<b>tacno</b>";  
  131.                     /*    
  132.                         $div.= "<a href='#' style='text-decoration:none;color:black;' id='".$item['ID']."' onclick='odgovor(this.id)'>".$item['tekst']."</a> $tacan<br>";
  133.                     }
  134.                     else */
  135.                     {
  136.                         $div.= "<a href='#' style='text-decoration:none;color:black;' id='".$item['ID']."' onclick='odgovor(this.id)'>".$item['tekst']." ($tacan)</a><br>";
  137.                     }                  
  138.                 }
  139.                
  140.                 $div.= "<br></div>";
  141.                 echo $div;              
  142.                
  143.             } catch (Exception $ex)
  144.             {
  145.                 echo "GRESKA: ".$ex->getMessage();
  146.             }            
  147.         }
  148.        
  149.         public function obrisi_pitanje($id_pitanja)
  150.         {
  151.             try
  152.             {                
  153.                 $sql = "DELETE FROM odgovori WHERE ID_pitanja=".$id_pitanja;
  154.                 $sql2 = "DELETE FROM pitanja WHERE ID=".$id_pitanja;
  155.  
  156.                 $this->dbh->beginTransaction();
  157.                
  158.                 $sth = $this->dbh->exec($sql);
  159.                 $sth = $this->dbh->exec($sql2);
  160.                
  161.                 $this->dbh->commit();
  162.                
  163.             } catch (Exception $ex)
  164.             {
  165.                 $this->dbh->rollBack();
  166.                 echo "GRESKA: ".$ex->getMessage();
  167.             }
  168.         }
  169.        
  170.         public function dodaj_pitanje($id_kviza, $tekst_pitanja, $broj_odgovora, $ogovori, $resenja) //odgovori i resenja su nizovi
  171.         {
  172.             try
  173.             {
  174.                 $this->dbh->beginTransaction();
  175.                
  176.                 $sql = "INSERT INTO pitanja (ID_kviza, tekst) VALUES ($id_kviza, '$tekst_pitanja')";
  177.  
  178.                 $this->dbh->exec($sql);
  179.                
  180.                 $sql = "SELECT * FROM pitanja WHERE ID_kviza=$id_kviza AND tekst='$tekst_pitanja'";
  181.  
  182.                 $dbo_izraz = $this->dbh->query($sql);
  183.                
  184.                 $niz = $dbo_izraz->fetch(PDO::FETCH_ASSOC);
  185.                
  186.                 $id_pitanja=$niz['ID'];
  187.                
  188.                 for($i = 0; $i < $broj_odgovora; $i++)
  189.                 {
  190.                     $tacan=0;
  191.                     if(in_array($i, $resenja)) $tacan = 1;
  192.  
  193.                     $sql = "INSERT INTO odgovori (ID_pitanja, tekst, tacan_odgovor) VALUES ($id_pitanja, '".$ogovori[$i]."' , ".$tacan.")";                
  194.  
  195.                     $this->dbh->exec($sql);
  196.                 }
  197.                
  198.                 $this->dbh->commit();
  199.                 echo "Dodavanje je uspesno!";                
  200.                
  201.             } catch (Exception $ex)
  202.             {
  203.                 $this->dbh->rollBack();
  204.                 echo "GRESKA: ".$ex->getMessage();
  205.             }
  206.            
  207.         }
  208.        
  209.        
  210.     }
  211.  
  212. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement