diff --git a/BddCorrect/BDD/SqliteDb.php b/BddCorrect/BDD/SqliteDb.php index 80012c9..94f21e7 100644 --- a/BddCorrect/BDD/SqliteDb.php +++ b/BddCorrect/BDD/SqliteDb.php @@ -12,10 +12,12 @@ class SqliteDb extends SQLite3 if($o == 'n') $this->open('Traitement/test2.db'); else $this->open('test2.db'); - /*$this->createLogin(); - $this->createTable(); - $this->createDemonstration(); - $this->createQCM();*/ + //$this->createLogin(); + // $this->createTable(); + //$this->createDemonstration(); + //$this->createQCM(); + // $this->createDateTp(); + } @@ -181,6 +183,15 @@ class SqliteDb extends SQLite3 $stmt->execute(); } + function createDateTp(){ + $this->exec('DROP TABLE dateTp'); + $this->exec('CREATE TABLE dateTp ( numTp NUMBER, dateDebut STRING, dateFin STRING)'); + + $this->exec("INSERT INTO dateTp VALUES(2,'20200101','20200814')"); + } + + + function joueurEtDateRandom(&$nomRandom, &$dateRandom){ $listeJoueurQuery = oci_parse($this->conn, 'SELECT prenomnoms,datematch FROM STATS INTERSECT SELECT prenomnoms,datematch FROM randomstats '); @@ -297,7 +308,25 @@ class SqliteDb extends SQLite3 $prp->bindParam(2, $numQuestion); $result = $prp->execute(); $row = $result->fetchArray(); - if($row['count(*)'] == 0) return false; + if($row['count(*)'] == 0){ + $q = "SELECT count(*) FROM Type WHERE numTp = ?"; + $prp=$this->prepare($q); + $prp->bindParam(1, $tp); + $result = $prp->execute(); + $row = $result->fetchArray(); + if($row['count(*)'] == 0){ + date_default_timezone_set('Europe/Paris'); + $dateD = date('Ymd'); + $dateF = date('Ymd',strtotime('+9 months')); + $q = "INSERT INTO DateTp VALUES(?,?,?)"; + $prp=$this->prepare($q); + $prp->bindParam(1, $tp); + $prp->bindParam(2, $dateD); + $prp->bindParam(3, $dateF); + $result = $prp->execute(); + } + return false; + } return true; } @@ -354,5 +383,30 @@ class SqliteDb extends SQLite3 $prp->bindParam(2, $numQuestion); $prp->execute(); } + + function supprimerDemonstration($chapitre, $numDemo){ + $qt = "DELETE FROM Demonstration WHERE chapitre=? AND numDemo=? "; + $prp=$this->prepare($qt); + $prp->bindParam(1, $chapitre); + $prp->bindParam(2, $numDemo); + $prp->execute(); + } + + function supprimerQCM($numQuestion){ + $qt = "DELETE FROM QcmQuestion WHERE numQuestion=? "; + $prp=$this->prepare($qt); + $prp->bindParam(1, $numQuestion); + $prp->execute(); + + $qt = "DELETE FROM QcmReponse WHERE numQuestion=? "; + $prp=$this->prepare($qt); + $prp->bindParam(1, $numQuestion); + $prp->execute(); + + $qt = "DELETE FROM QcmCorrection WHERE numQuestion=? "; + $prp=$this->prepare($qt); + $prp->bindParam(1, $numQuestion); + $prp->execute(); + } } diff --git a/BddCorrect/DAL/QCMGateway.php b/BddCorrect/DAL/QCMGateway.php index 683dd82..339e9cb 100644 --- a/BddCorrect/DAL/QCMGateway.php +++ b/BddCorrect/DAL/QCMGateway.php @@ -10,14 +10,14 @@ class QCMGateway { public function afficherQCM() { $i = 0; - $query = 'SELECT * FROM QcmQuestion'; + $query = 'SELECT * FROM QcmQuestion ORDER BY numQuestion'; $query = $this->db->prepare($query); $result = $query->execute(); $tabQuestions = array(); //$resultats = $this->db->query('SELECT found_rows()'); while($q = $result->fetchArray()){ $i= $i+1; - $reponseQuery = 'SELECT * FROM QcmReponse WHERE numQuestion=?'; + $reponseQuery = 'SELECT * FROM QcmReponse WHERE numQuestion=? ORDER BY numReponse'; $stmt = $this->db->prepare($reponseQuery); $stmt->bindParam(1, $q['numQuestion']); $reponseResult = $stmt->execute(); diff --git a/BddCorrect/Traitement/AjoutDemonstration.php b/BddCorrect/Traitement/AjoutDemonstration.php index 8bb8fab..9da4554 100644 --- a/BddCorrect/Traitement/AjoutDemonstration.php +++ b/BddCorrect/Traitement/AjoutDemonstration.php @@ -19,10 +19,7 @@ else if(!is_numeric($_GET['numDemo'])) else { if(isset($_GET['modif'])){ - if ($_GET["type"] == 'fonction') - $db->supprimerFonction ($_GET['num'], $_GET['tp']); - else if ($_GET["type"] == 'requete') - $db->supprimerRequete($_GET['num'], $_GET['tp']); + $db->supprimerDemonstration($_GET['chapitre'], $_GET['numDemo']); } diff --git a/BddCorrect/Traitement/AjoutQCM.php b/BddCorrect/Traitement/AjoutQCM.php index ea77993..6c6a428 100644 --- a/BddCorrect/Traitement/AjoutQCM.php +++ b/BddCorrect/Traitement/AjoutQCM.php @@ -2,13 +2,17 @@ require_once('../BDD/SqliteDb.php'); require_once('../controleur/Controleur.php'); +$db = new SqliteDb('o'); + +if(isset($_GET['modif'])){ + $db->supprimerQCM ($_GET['numQuestion']); +} -$db = new SqliteDb('o'); - $isAdd = $db->ajouterQCM($_GET['numQuestion'],$_GET['consigne'],$_GET['choix1'],$_GET['choix2'],$_GET['choix3'], $_GET['reponse']); +$isAdd = $db->ajouterQCM($_GET['numQuestion'],$_GET['consigne'],$_GET['choix1'],$_GET['choix2'],$_GET['choix3'], $_GET['reponse']); if(!$isAdd){ echo 'ERREUR : le numéro de question existe déjà dans la bdd'; - } - else echo 'AJOUT QCM avec succès'; + } +else echo 'AJOUT QCM avec succès'; diff --git a/BddCorrect/Traitement/AjoutQuestion.php b/BddCorrect/Traitement/AjoutQuestion.php index 3b7e056..8791878 100644 --- a/BddCorrect/Traitement/AjoutQuestion.php +++ b/BddCorrect/Traitement/AjoutQuestion.php @@ -5,7 +5,6 @@ require_once('../controleur/Controleur.php'); $db = new SqliteDb('o'); -$lol = 'ok'; if (empty($_GET['tp']) || empty($_GET['bdd']) || empty($_GET['num']) || empty($_GET['consigne']) || empty($_GET['reponse']) || empty($_GET['points']) || empty($_GET['aleatoire']) || empty($_GET['type'])) { echo 'ERREUR : Veuillez remplir tous les champs '; diff --git a/BddCorrect/Traitement/DateTp.php b/BddCorrect/Traitement/DateTp.php new file mode 100644 index 0000000..c93a65e --- /dev/null +++ b/BddCorrect/Traitement/DateTp.php @@ -0,0 +1,24 @@ +prepare($q); +$prp->bindParam(1, $debut ); +$prp->bindParam(2, $_GET['tp']); +$result = $prp->execute(); + +$q = "UPDATE dateTp SET dateFin=? WHERE numtp=?"; +$prp=$db->prepare($q); +$prp->bindParam(1, $fin); +$prp->bindParam(2,$_GET['tp'] ); +$result = $prp->execute(); + + diff --git a/BddCorrect/Traitement/Modification.php b/BddCorrect/Traitement/Modification.php index e53f742..47815c3 100644 --- a/BddCorrect/Traitement/Modification.php +++ b/BddCorrect/Traitement/Modification.php @@ -36,10 +36,10 @@ $questionRow = $resultQuestion->fetchArray();