From 90d006f958e7fb4b1889cf3ea4a7bed805c8965b Mon Sep 17 00:00:00 2001 From: Mehdi Date: Mon, 3 Aug 2020 09:59:01 +0200 Subject: [PATCH] =?UTF-8?q?correction=20de=20bugs=20+=20ajout=20de=20fonct?= =?UTF-8?q?ionnalit=C3=A9s(ajout=20de=20d=C3=A9monstrations,=20v=C3=A9rifi?= =?UTF-8?q?cation=20lors=20de=20l'ajout)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BddCorrect/BDD/OracleDb.php | 10 +- BddCorrect/BDD/SqliteDb.php | 94 +++++++++++-- BddCorrect/DAL/QuestionsGateway.php | 2 +- BddCorrect/Traitement/AffichageDemo.php | 2 +- BddCorrect/Traitement/AjoutDemonstration.php | 35 ++++- BddCorrect/Traitement/AjoutQuestion.php | 68 +++++++-- BddCorrect/Traitement/Correcteur.php | 48 +++---- BddCorrect/Traitement/CorrectionQCM.php | 2 +- BddCorrect/Traitement/Modification.php | 108 ++++++++++++--- BddCorrect/Traitement/Ordre.php | 75 ++++++---- BddCorrect/Traitement/OrdreDemo.php | 40 ++++++ BddCorrect/Traitement/Suppression.php | 9 +- BddCorrect/Traitement/test2.db | Bin 0 -> 40960 bytes BddCorrect/controleur/Controleur.php | 19 +++ BddCorrect/nbproject/private/private.xml | 13 +- BddCorrect/vues/VueAdmin.php | 138 +++++++++++++------ BddCorrect/vues/VueAjoutDemo.php | 78 ++++++++--- BddCorrect/vues/VueDemonstration.php | 53 +++---- BddCorrect/vues/VuePrincipale.php | 22 +-- BddCorrect/vues/VueQCM.php | 1 - 20 files changed, 603 insertions(+), 214 deletions(-) create mode 100644 BddCorrect/Traitement/OrdreDemo.php create mode 100644 BddCorrect/Traitement/test2.db diff --git a/BddCorrect/BDD/OracleDb.php b/BddCorrect/BDD/OracleDb.php index c166245..2e2ff79 100644 --- a/BddCorrect/BDD/OracleDb.php +++ b/BddCorrect/BDD/OracleDb.php @@ -1,10 +1,6 @@ conn = oci_connect('u_prems', '123456', 'localhost/orcl'); - //$this->conn = oci_connect('meelaichao', 'meelaichao', 'kirov:1521/kirov'); + //$this->conn = oci_connect('u_prems', '123456', 'localhost/orcl'); + $this->conn = oci_connect('meelaichao', 'meelaichao', 'kirov:1521/kirov'); //$this->createRandomTables(); } diff --git a/BddCorrect/BDD/SqliteDb.php b/BddCorrect/BDD/SqliteDb.php index be665e0..9cb7307 100644 --- a/BddCorrect/BDD/SqliteDb.php +++ b/BddCorrect/BDD/SqliteDb.php @@ -10,8 +10,8 @@ class SqliteDb extends SQLite3 $odb = new OracleDb(); $this->conn = $odb->getConn(); if($o == 'n') - $this->open('Traitement/test.db'); - else $this->open('test.db'); + $this->open('Traitement/test2.db'); + else $this->open('test2.db'); /*$this->createLogin(); $this->createTable(); $this->createDemonstration(); @@ -25,10 +25,10 @@ class SqliteDb extends SQLite3 $this->exec('CREATE TABLE Correct ( bddConcernee STRING,numTp NUMBER, numquestion NUMBER,question STRING, reponse STRING,points NUMBER,aleatoire CHAR)'); $this->exec('DROP TABLE FunctionCorrect'); - $this->exec('CREATE TABLE FunctionCorrect (bddConcernee STRING,numTp NUMBER, numquestion NUMBER, question STRING, reponse STRING, type STRING, fonctionCorrect STRING,testUser STRING)'); + $this->exec('CREATE TABLE FunctionCorrect (bddConcernee STRING,numTp NUMBER, numquestion NUMBER, question STRING, reponse STRING, fonctionCorrect STRING,testUser STRING, points NUMBER)'); $this->exec('DROP TABLE TriggerCorrect'); - $this->exec('CREATE TABLE TriggerCorrect ( bddConcernee STRING,numTp NUMBER, numquestion NUMBER,question STRING, reponse STRING, type STRING, fonctionCorrect STRING,testUser STRING)'); + $this->exec('CREATE TABLE TriggerCorrect ( bddConcernee STRING,numTp NUMBER, numquestion NUMBER,question STRING, reponse STRING,fonctionCorrect STRING,testUser STRING)'); $this->exec('DROP TABLE Type'); $this->exec('CREATE TABLE Type ( numTp NUMBER,numQuestion NUMBER,type STRING)'); @@ -87,12 +87,13 @@ class SqliteDb extends SQLite3 $fonctionCorrect = 'CREATE OR REPLACE FUNCTION fpointsmarques(date_match IN VARCHAR2, joueur IN VARCHAR2 ) RETURN NUMBER IS nbPoints NUMBER ; BEGIN SELECT points INTO nbPoints FROM STATS WHERE datematch = date_match AND prenomnoms=joueur; RETURN nbPoints; END;' ; $reponse = 'SELECT fpointsmarques(\''.$dateRandom.'\', \''.$joueurRandom.'\') FROM DUAL'; $testU = 'SELECT pointsmarques(\''.$dateRandom.'\', \''.$joueurRandom.'\') FROM DUAL' ; + $points =1; $q = "INSERT INTO FunctionCorrect VALUES ('NBA',2,5,'Ecrire une fonction pointsmarques qui détermine pour une date de match et un joueur donnés quelle est le nombre de points marqués par ce joueur', ?,?,?,? )"; $stmt = $this->prepare($q); $stmt->bindParam(1,$reponse); - $stmt->bindParam(2,$type); - $stmt->bindParam(3,$fonctionCorrect); - $stmt->bindParam(4,$testU); + $stmt->bindParam(2,$fonctionCorrect); + $stmt->bindParam(3,$testU); + $stmt->bindParam(4,$points); $stmt->execute(); /* //Question 9 @@ -201,33 +202,85 @@ class SqliteDb extends SQLite3 $dateRandom = $listeJoueurArray['DATEMATCH'][$rand_keys]; } - function ajouterRequete($contexte,$tp,$num,$consigne,$requete){ + function ajouterRequete($contexte,$tp,$numQuestion,$consigne,$requete,$points){ + if($this->verificationExistenceQuestion($tp, $numQuestion)) return false; $qt = "INSERT INTO Type VALUES(?,?,'query')"; $prp=$this->prepare($qt); - $prp->bindParam(1, $num); - $prp->bindParam(2, $tp); + $prp->bindParam(1, $tp); + $prp->bindParam(2, $numQuestion); $prp->execute(); - $q = "INSERT INTO Correct VALUES (?,?,?,?,? ,1,'o')"; + + $q = "INSERT INTO Correct VALUES (?,?,?,?,? ,?,?)"; $stmt = $this->prepare($q); $stmt->bindParam(1,$contexte); $stmt->bindParam(2,$tp); - $stmt->bindParam(3,$num); + $stmt->bindParam(3,$numQuestion); $stmt->bindParam(4,$consigne); $stmt->bindParam(5,$requete); + $stmt->bindParam(6,$points); + $stmt->bindParam(7,$contexte); $stmt->execute(); + return true; } + function ajouterFonction($contexte,$tp,$numQuestion,$consigne,$requete,$fonction,$requeteUser,$points){ + if($this->verificationExistenceQuestion($tp, $numQuestion)) return false; + $qt = "INSERT INTO Type VALUES(?,?,'functionCorrect')"; + $prp=$this->prepare($qt); + $prp->bindParam(1, $tp); + $prp->bindParam(2, $numQuestion); + $prp->execute(); + $q = "INSERT INTO FunctionCorrect VALUES (?,?,?,?,?,?,? ,?)"; + $stmt = $this->prepare($q); + $stmt->bindParam(1,$contexte); + $stmt->bindParam(2,$tp); + $stmt->bindParam(3,$numQuestion); + $stmt->bindParam(4,$consigne); + $stmt->bindParam(5,$requete); + $stmt->bindParam(6,$fonction); + $stmt->bindParam(7,$requeteUser); + $stmt->bindParam(8,$points); + $stmt->execute(); + return true; + } + + + function verificationExistenceQuestion($tp,$numQuestion){ + $q = "SELECT count(*) FROM Type WHERE numTp = ? AND numQuestion = ? "; + $prp=$this->prepare($q); + $prp->bindParam(1, $tp); + $prp->bindParam(2, $numQuestion); + $result = $prp->execute(); + $row = $result->fetchArray(); + if($row['count(*)'] == 0) return false; + return true; + } + function ajouterDemonstration($contexte,$chapitre,$num,$intitule,$requete){ + if($this->verificationExistenceDemo($chapitre, $num)) return false; $q = "INSERT INTO Demonstration VALUES (?,?,?,?,?)"; $stmt = $this->prepare($q); $stmt->bindParam(1,$contexte); $stmt->bindParam(2,$chapitre); $stmt->bindParam(3,$num); $stmt->bindParam(4,$intitule); - $stmt->bindParam(5,$requete); - + $stmt->bindParam(5,$requete); $stmt->execute(); + + return true; + + } + + function verificationExistenceDemo($chapitre,$numDemo){ + $q = "SELECT count(*) FROM Demonstration WHERE chapitre = ? AND numDemo = ? "; + $prp=$this->prepare($q); + $prp->bindParam(1, $chapitre); + $prp->bindParam(2, $numDemo); + $result = $prp->execute(); + $row = $result->fetchArray(); + if($row['count(*)'] == 0) return false; + return true; } function supprimerRequete($numQuestion,$numTp){ @@ -244,5 +297,18 @@ class SqliteDb extends SQLite3 $prp->execute(); } + function supprimerFonction($numQuestion,$numTp){ + $qt = "DELETE FROM Type WHERE numTp=? AND numQuestion=? "; + $prp=$this->prepare($qt); + $prp->bindParam(1, $numTp); + $prp->bindParam(2, $numQuestion); + $prp->execute(); + + $qt = "DELETE FROM FunctionCorrect WHERE numTp=? AND numQuestion=? "; + $prp=$this->prepare($qt); + $prp->bindParam(1, $numTp); + $prp->bindParam(2, $numQuestion); + $prp->execute(); + } } diff --git a/BddCorrect/DAL/QuestionsGateway.php b/BddCorrect/DAL/QuestionsGateway.php index c783eec..d5698f7 100644 --- a/BddCorrect/DAL/QuestionsGateway.php +++ b/BddCorrect/DAL/QuestionsGateway.php @@ -23,7 +23,7 @@ class QuestionsGateway { public function afficherDemonstrations() { $i = 0; - $query = 'SELECT * FROM Demonstration'; + $query = 'SELECT * FROM Demonstration ORDER BY numDemo ASC'; $query = $this->db->prepare($query); $result = $query->execute(); //$resultats = $this->db->query('SELECT found_rows()'); diff --git a/BddCorrect/Traitement/AffichageDemo.php b/BddCorrect/Traitement/AffichageDemo.php index 69224b6..3dd9c29 100644 --- a/BddCorrect/Traitement/AffichageDemo.php +++ b/BddCorrect/Traitement/AffichageDemo.php @@ -3,7 +3,7 @@ session_start(); require_once('../BDD/SqliteDb.php'); require_once('../BDD/OracleDb.php'); header('Content-type: text/plain'); -$db = new SqliteDb(); +$db = new SqliteDb('o'); $n = new OracleDb(); //$conn = oci_connect('u_prems', '123456','localhost/orcl'); diff --git a/BddCorrect/Traitement/AjoutDemonstration.php b/BddCorrect/Traitement/AjoutDemonstration.php index 9ca6f7a..8bb8fab 100644 --- a/BddCorrect/Traitement/AjoutDemonstration.php +++ b/BddCorrect/Traitement/AjoutDemonstration.php @@ -1,14 +1,41 @@ ajouterDemonstration($_GET['bdd'],$_GET['tp'],$_GET['num'],$_GET['consigne'], $_GET['reponse']); +if (empty($_GET['chapitre']) || empty($_GET['bdd']) || empty($_GET['numDemo']) || empty($_GET['description']) || empty($_GET['reponse']) ) { + echo 'ERREUR : Veuillez remplir tous les champs '; +} + +else if(!is_numeric($_GET['chapitre'])) + echo 'ERREUR : une valeur non numérique à été détectée dans le champ \'Chapitre n° :\' '; +else if(!is_numeric($_GET['numDemo'])) + echo 'ERREUR : une valeur non numérique à été détectée dans le champ \'Numéro de démonstration :\' '; + +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']); + } + + + $isAdd = $db->ajouterDemonstration($_GET['bdd'],$_GET['chapitre'],$_GET['numDemo'],$_GET['description'], $_GET['reponse']); + if(!$isAdd){ + echo 'ERREUR : la combinaison (numéro de chapitre, numéro de démonstration) existe déjà dans la bdd'; + } + else echo 'AJOUT Démonstration avec succès'; + + + + +} //require_once('index.php'); -header("Location: index.php"); +//header("Location: ../index.php"); diff --git a/BddCorrect/Traitement/AjoutQuestion.php b/BddCorrect/Traitement/AjoutQuestion.php index d24bed6..285b069 100644 --- a/BddCorrect/Traitement/AjoutQuestion.php +++ b/BddCorrect/Traitement/AjoutQuestion.php @@ -1,19 +1,71 @@ supprimerRequete($_GET['num'], $_GET['tp']); + +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 '; } + +else if(!is_numeric($_GET['tp'])) + echo 'ERREUR : une valeur non numérique à été détectée dans le champ \'Numéro de question :\' '; +else if(!is_numeric($_GET['num'])) + echo 'ERREUR : une valeur non numérique à été détectée dans le champ \'TP n° :\' '; -if ($_GET["type"] == 'requete'){ - $db->ajouterRequete($_GET['bdd'],$_GET['tp'],$_GET['num'],$_GET['consigne'], $_GET['reponse']); -} +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']); + } + + if ($_GET["type"] == 'requete'){ + + $isAdd = $db->ajouterRequete($_GET['bdd'],$_GET['tp'],$_GET['num'],$_GET['consigne'], $_GET['reponse'],$_GET['points']); + if(!$isAdd){ + echo 'ERREUR : la combinaison (numéro de tp, numéro de question) existe déjà dans la bdd'; + } + else echo 'AJOUT Requete avec succès'; + + } + else if ($_GET["type"] == 'fonction'){ + if(empty($_GET['fonction'])) + echo 'ERREUR : Veuillez remplir tous les champs '; + else { + if(isset($_GET['modif'])){ + $reponse = $_GET['reponse']; + $re = '/^\s*SELECT\s*([a-z0-9]*)/i'; + preg_match($re, $reponse, $matches, PREG_OFFSET_CAPTURE); + $string = 'f'.$matches[1][0]; + $freponse = str_replace($matches[1][0],$string, $reponse); + + $fonction = $_GET['fonction']; + $re = '/^\s*CREATE OR REPLACE FUNCTION\s*([a-z0-9]*)/i'; + preg_match($re, $fonction, $matches2, PREG_OFFSET_CAPTURE); + + $string2 = 'f'.$matches2[1][0]; + $ffonction = str_replace($matches2[1][0],$string2, $fonction); + } + else { + $freponse = $reponse; + $ffonction = $fonction; + } + $isAdd = $db->ajouterFonction($_GET['bdd'],$_GET['tp'],$_GET['num'],$_GET['consigne'], $freponse,$ffonction,$reponse,$_GET['points']); + if(!$isAdd){ + echo 'ERREUR : la combinaison (numéro de tp, numéro de question) existe déjà dans la bdd'; + } + else echo 'AJOUT Fonction avec succès'; + } + } + + +} //require_once('index.php'); -header("Location: index.php"); +//header("Location: ../index.php"); diff --git a/BddCorrect/Traitement/Correcteur.php b/BddCorrect/Traitement/Correcteur.php index 6de20fe..4b52184 100644 --- a/BddCorrect/Traitement/Correcteur.php +++ b/BddCorrect/Traitement/Correcteur.php @@ -15,7 +15,7 @@ $conn = $n->getConn(); $_SESSION['fi'] = array(); $cmpt = 0; -$numQuestion = 0; +$numDemo = 0; header("Cache-Control: no cache"); @@ -23,15 +23,15 @@ header("Cache-Control: no cache"); /*$numQuestion++; $ic = "$numQuestion";*/ - $numQuestion = $_GET['numQuestion']; - $numTp = $_GET['numTp']; - $_SESSION['fi'][$numQuestion] = $textbox; + $numDemo = $_GET['numQuestion']; + $numChapitre = $_GET['numTp']; + $_SESSION['fi'][$numDemo] = $textbox; $UserQuery = oci_parse($conn, $textbox); $reponseUser = oci_execute($UserQuery); $typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?'); - $typeQuery->bindParam(1, $numQuestion); - $typeQuery->bindParam(2, $numTp); + $typeQuery->bindParam(1, $numDemo); + $typeQuery->bindParam(2, $numChapitre); $resultType = $typeQuery->execute(); $typeRow = $resultType->fetchArray(); $err = 0; @@ -43,8 +43,8 @@ header("Cache-Control: no cache"); // $sqliteQuery = $db->prepare('SELECT reponse FROM Correct WHERE numquestion= ? AND numTp= ? '); - $sqliteQuery->bindParam(1, $numQuestion); - $sqliteQuery->bindParam(2, $numTp); + $sqliteQuery->bindParam(1, $numDemo); + $sqliteQuery->bindParam(2, $numChapitre); $result = $sqliteQuery->execute(); $sqliteRow = $result->fetchArray(); @@ -77,8 +77,8 @@ header("Cache-Control: no cache"); // $aleatoireQuery = $db->prepare('SELECT aleatoire FROM Correct WHERE numQuestion = ? AND numTp= ?'); - $aleatoireQuery->bindParam(1, $numQuestion); - $aleatoireQuery->bindParam(2, $numTp); + $aleatoireQuery->bindParam(1, $numDemo); + $aleatoireQuery->bindParam(2, $numChapitre); $resultAleatoire = $aleatoireQuery->execute(); $aleatoireRow = $resultAleatoire->fetchArray(); if($aleatoireRow['aleatoire'] == 'o'){ @@ -135,26 +135,26 @@ header("Cache-Control: no cache"); } // if($err == 0 && $verif==1){ - echo "La réponse à la question " .$numQuestion. " est JUSTE ! \n"; + echo "La réponse à la question " .$numDemo. " est JUSTE ! \n"; $cmpt++; } - else echo "La réponse à la question " .$numQuestion. " est FAUSSE ! \n"; + else echo "La réponse à la question " .$numDemo. " est FAUSSE ! \n"; // } //si la question attend une modification else if($typeRow['type'] == 'tablemodification'){ $sqliteQuery = $db->prepare('SELECT reponse FROM Correct WHERE numquestion= ? AND numTp= ? '); - $sqliteQuery->bindParam(1, $numQuestion); - $sqliteQuery->bindParam(2, $numTp); + $sqliteQuery->bindParam(1, $numDemo); + $sqliteQuery->bindParam(2, $numChapitre); $result = $sqliteQuery->execute(); $sqliteRow = $result->fetchArray(); $vraiReponse = oci_parse($conn, $sqliteRow['reponse']); $enAttente = oci_execute($vraiReponse); $sqliteQuery = $db->prepare('SELECT fonctioncorrect FROM Correct WHERE numquestion= ? AND numTp= ?'); - $sqliteQuery->bindParam(1, $numQuestion); - $sqliteQuery->bindParam(2, $numTp); + $sqliteQuery->bindParam(1, $numDemo); + $sqliteQuery->bindParam(2, $numChapitre); $result = $sqliteQuery->execute(); $sqliteRow = $result->fetchArray(); @@ -172,18 +172,18 @@ header("Cache-Control: no cache"); } if($err == 0 ){ - echo "La réponse à la question " .$numQuestion. " est JUSTE ! \n"; + echo "La réponse à la question " .$numDemo. " est JUSTE ! \n"; $cmpt++; } - else echo "La réponse à la question " .$numQuestion. " est FAUSSE ! \n"; + else echo "La réponse à la question " .$numDemo. " est FAUSSE ! \n"; } //si la question attend un CREATE FUNCTION else{ $fonctionQuery = $db->prepare('SELECT * FROM FunctionCorrect WHERE numquestion= ? AND numTp= ? '); - $fonctionQuery->bindParam(1, $numQuestion); - $fonctionQuery->bindParam(2, $numTp); + $fonctionQuery->bindParam(1, $numDemo); + $fonctionQuery->bindParam(2, $numChapitre); $result = $fonctionQuery->execute(); $fonctionRow = $result->fetchArray(); @@ -240,8 +240,8 @@ header("Cache-Control: no cache"); $txt = str_replace('JOUEUR', 'randomjoueur', $txt); } - $UserQueryRandom = oci_parse($conn, $txt); - $reponseUserRandom = oci_execute($UserQueryRandom); + $UserFonctionRandom = oci_parse($conn, $txt); + $reponseUserRandom = oci_execute($UserFonctionRandom); //echo 'bbbb'.$txt; $creationFonctionRandom = oci_parse($conn, $nv); $creatFRandom = oci_execute($creationFonctionRandom); @@ -278,10 +278,10 @@ header("Cache-Control: no cache"); // if($err == 0 && $verif==1 ){ - echo "La réponse à la question " .$numQuestion. " est JUSTE ! \n"; + echo "La réponse à la question " .$numDemo. " est JUSTE ! \n"; $cmpt++; } - else echo "La réponse à la question " .$numQuestion. " est FAUSSE ! \n"; + else echo "La réponse à la question " .$numDemo. " est FAUSSE ! \n"; } diff --git a/BddCorrect/Traitement/CorrectionQCM.php b/BddCorrect/Traitement/CorrectionQCM.php index 756f058..22417e7 100644 --- a/BddCorrect/Traitement/CorrectionQCM.php +++ b/BddCorrect/Traitement/CorrectionQCM.php @@ -3,7 +3,7 @@ session_start(); require_once('../BDD/SqliteDb.php'); require_once('../BDD/OracleDb.php'); -$db = new SqliteDb(); +$db = new SqliteDb('o'); $oracleDb = new OracleDb(); $conn = $oracleDb->getConn(); diff --git a/BddCorrect/Traitement/Modification.php b/BddCorrect/Traitement/Modification.php index 68abd41..e53f742 100644 --- a/BddCorrect/Traitement/Modification.php +++ b/BddCorrect/Traitement/Modification.php @@ -2,55 +2,129 @@ -
-
+ prepare('SELECT question,reponse FROM Correct WHERE numQuestion= ? AND numTp = ?'); +$db = new SqliteDb('o'); + + + + +$typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?'); +$typeQuery->bindParam(1, $_GET['numQuestion']); +$typeQuery->bindParam(2, $_GET['numTp']); +$resultType = $typeQuery->execute(); +$typeRow = $resultType->fetchArray(); + +if($typeRow['type']== 'query') + $stmt = $db->prepare('SELECT question,reponse,points FROM Correct WHERE numQuestion= ? AND numTp = ?'); +else if($typeRow['type']== 'functionCorrect') + $stmt = $db->prepare('SELECT question,reponse,fonctionCorrect,points FROM FunctionCorrect WHERE numQuestion= ? AND numTp = ?'); + $stmt->bindParam(1, $_GET['numQuestion']); $stmt->bindParam(2, $_GET['numTp']); $resultQuestion = $stmt->execute(); $questionRow = $resultQuestion->fetchArray(); -echo 'AAAAAAAAAAAAAAAA'.$_GET['numTp'].$questionRow['reponse']; + ?> -

Ajouter une question

+ +
+

Modifier une question


- + - + - + - + - +
+ + +
+ - + +
- +
+
+ +
+ + + diff --git a/BddCorrect/Traitement/Ordre.php b/BddCorrect/Traitement/Ordre.php index 5f25e30..a0e9daa 100644 --- a/BddCorrect/Traitement/Ordre.php +++ b/BddCorrect/Traitement/Ordre.php @@ -4,64 +4,89 @@ require_once('../BDD/SqliteDb.php'); $db = new SqliteDb('o'); -$numQuestion = $_GET['numQuestion']; - $numTp = $_GET['numTp']; -$numQuestionPrec = $numQuestion-1; +$numDemo = $_GET['numQuestion']; + $numChapitre = $_GET['numTp']; +$numDemoPrec = $numDemo-1; $test = 999; $Correct = 'Correct'; $function = 'functionCorrect'; -if($numQuestion!=1){ +if($numDemo!=1){ $typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?'); - $typeQuery->bindParam(1, $numQuestion); - $typeQuery->bindParam(2, $numTp); + $typeQuery->bindParam(1, $numDemo); + $typeQuery->bindParam(2, $numChapitre); $resultType = $typeQuery->execute(); $typeRow = $resultType->fetchArray(); $typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?'); - $typeQuery->bindParam(1, $numQuestionPrec); - $typeQuery->bindParam(2, $numTp); + $typeQuery->bindParam(1, $numDemoPrec); + $typeQuery->bindParam(2, $numChapitre); $resultType = $typeQuery->execute(); $type2Row = $resultType->fetchArray(); - + //---------- if($typeRow['type'] == 'query'){ $table = 'Correct'; + $type = 'query'; + } + else{ + $table = 'FunctionCorrect'; + $type = 'functionCorrect'; } - else $table = 'FunctionCorrect'; - - $sqliteQuery = $db->prepare('UPDATE '.$table.' SET numQuestion=? WHERE numQuestion=? AND numTp=?'); - + $sqliteQuery = $db->prepare('UPDATE '.$table.' SET numQuestion=? WHERE numQuestion=? AND numTp=?'); $sqliteQuery->bindParam(1, $test); - $sqliteQuery->bindParam(2, $numQuestion); - $sqliteQuery->bindParam(3, $numTp); + $sqliteQuery->bindParam(2, $numDemo); + $sqliteQuery->bindParam(3, $numChapitre); $result = $sqliteQuery->execute(); + //--------- if($type2Row['type'] == 'query'){ $table2 = 'Correct'; + $type2 = 'query'; + } + else{ + $table2 = 'FunctionCorrect'; + $type2 = 'functionCorrect'; } - else $table2 = 'FunctionCorrect'; $sqliteQuery = $db->prepare('UPDATE '.$table2.' SET numQuestion=? WHERE numQuestion=? AND numTp=?'); - - $sqliteQuery->bindParam(1, $numQuestion); - $sqliteQuery->bindParam(2, $numQuestionPrec); - $sqliteQuery->bindParam(3, $numTp); + $sqliteQuery->bindParam(1, $numDemo); + $sqliteQuery->bindParam(2, $numDemoPrec); + $sqliteQuery->bindParam(3, $numChapitre); $resulti = $sqliteQuery->execute(); + $sqliteQuery = $db->prepare('UPDATE Type SET type=? WHERE numQuestion=? AND numTp=?'); + $sqliteQuery->bindParam(1, $type2); + $sqliteQuery->bindParam(2, $numDemo); + $sqliteQuery->bindParam(3, $numChapitre); + $resulti = $sqliteQuery->execute(); + + + //--------- + $sqliteQuery = $db->prepare('UPDATE '.$table.' SET numQuestion=? WHERE numQuestion=? AND numTp=?'); - $sqliteQuery->bindParam(1, $numQuestionPrec); + $sqliteQuery->bindParam(1, $numDemoPrec); $sqliteQuery->bindParam(2, $test); - $sqliteQuery->bindParam(3, $numTp); + $sqliteQuery->bindParam(3, $numChapitre); $resultp = $sqliteQuery->execute(); - //// - $sqliteQuery = $db->prepare('UPDATE Type SET numQuestion=? WHERE numQuestion=? AND numTp=?'); + + $sqliteQuery = $db->prepare('UPDATE Type SET type=? WHERE numQuestion=? AND numTp=?'); + $sqliteQuery->bindParam(1, $type); + $sqliteQuery->bindParam(2, $numDemoPrec); + $sqliteQuery->bindParam(3, $numChapitre); + $resulti = $sqliteQuery->execute(); + + + ////--------------------------------------------------------- + + + /*$sqliteQuery = $db->prepare('UPDATE Type SET numQuestion=? WHERE numQuestion=? AND numTp=?'); $sqliteQuery->bindParam(1, $test); $sqliteQuery->bindParam(2, $numQuestion); $sqliteQuery->bindParam(3, $numTp); @@ -77,7 +102,7 @@ if($numQuestion!=1){ $sqliteQuery->bindParam(1, $numQuestionPrec); $sqliteQuery->bindParam(2, $test); $sqliteQuery->bindParam(3, $numTp); - $resultp = $sqliteQuery->execute(); + $resultp = $sqliteQuery->execute();*/ } diff --git a/BddCorrect/Traitement/OrdreDemo.php b/BddCorrect/Traitement/OrdreDemo.php new file mode 100644 index 0000000..5127180 --- /dev/null +++ b/BddCorrect/Traitement/OrdreDemo.php @@ -0,0 +1,40 @@ +prepare('UPDATE Demonstration SET numDemo=? WHERE numDemo=? AND chapitre=?'); + $sqliteQuery->bindParam(1, $test); + $sqliteQuery->bindParam(2, $numDemo); + $sqliteQuery->bindParam(3, $numChapitre); + $result = $sqliteQuery->execute(); + + + $sqliteQuery = $db->prepare('UPDATE Demonstration SET numDemo=? WHERE numDemo=? AND chapitre=?'); + $sqliteQuery->bindParam(1, $numDemo); + $sqliteQuery->bindParam(2, $numDemoPrec); + $sqliteQuery->bindParam(3, $numChapitre); + $resulti = $sqliteQuery->execute(); + + + $sqliteQuery = $db->prepare('UPDATE Demonstration SET numDemo=? WHERE numDemo=? AND chapitre=?'); + $sqliteQuery->bindParam(1, $numDemoPrec); + $sqliteQuery->bindParam(2, $test); + $sqliteQuery->bindParam(3, $numChapitre); + $resultp = $sqliteQuery->execute(); + + + +} + +//header("Location: index.php"); + + diff --git a/BddCorrect/Traitement/Suppression.php b/BddCorrect/Traitement/Suppression.php index 441b7ca..4f476f2 100644 --- a/BddCorrect/Traitement/Suppression.php +++ b/BddCorrect/Traitement/Suppression.php @@ -2,7 +2,7 @@ require_once('../BDD/SqliteDb.php'); -$db = new SqliteDb(); +$db = new SqliteDb('o'); $sqliteQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion=? AND numTp = ?'); @@ -22,4 +22,9 @@ $db = new SqliteDb(); $sqliteQueryF->bindParam(1, $_GET['numQuestion']); $sqliteQueryF->bindParam(2, $_GET['numTp']); $result = $sqliteQueryF->execute(); - } \ No newline at end of file + } + + $sqliteQuery = $db->prepare('DELETE FROM Type WHERE numquestion= ? AND numTp=? '); + $sqliteQuery->bindParam(1, $_GET['numQuestion']); + $sqliteQuery->bindParam(2, $_GET['numTp']); + $result = $sqliteQuery->execute(); \ No newline at end of file diff --git a/BddCorrect/Traitement/test2.db b/BddCorrect/Traitement/test2.db new file mode 100644 index 0000000000000000000000000000000000000000..6f7c6eeeb14d2ec792c56b6cf2f803faed50657e GIT binary patch literal 40960 zcmeI5O>7&-6@Yh^6xr2EoFuY9G%nCF?0{rU$<|Nd2CmRh6fMb;NQokyv;|tMmMeK< za+lg4%L3BFGQRiH04)%pJ@iobT;x!oC-qVwx#iSbffnwiD3G{^_R_xDABsy^u3_{? zl^-FI`(}1#-uvdw+VjMHyS=rpI~v3KE|wURt7WK8-IEo6Qz|8?xo;~&b?V;`Q<42zKf57=uT0_l}}I~$h1x2IX5nQ`e$F)QPBEYDuZ%70~K zV53*=CC|Q=eea0K56wiu`-*p%&gOE&JMdvIX&snQ$5Qyb$Ar-s>R44kS{?EyR#fjQ zUEQ&?zW;zv@rHf5rP->bcYPlVT`KNTg=TLgot>N{-gw{(hh41!zfw#YUIIGA{1=3+ zA@_CoX~8fB?@CWhXD?nPy|4Nmhu#%_q+;ENh5spkimipB($*Bm)B##~rBp9?cY2BQ zx#-v5PGz%Ma_Hl4n|r$9zm3Gu`$YiWg^P!wbfW1ivaVv=2d34E=JUOkz>6pR?zYrU zIBDR;F(Dc2K2{ZY(6G~Rud0Vvx!}@R*k4X(FI^(uR5Vst550v)iQ!SA9(*T_gy>3Z z4P8V}x^7|TRyuq6GV$bS$Vg2XGddK92aPIDF>F6t9^sPUdvlTgR-k``H+&%hB!C2v z01`j~NB{{S0VIF~kN^@u0%x1R>tceuC6+Z+XApN~ZH4u>`msQ| z!c%)(nLWHRbN$M#+lQ64>h#v~<~!HsH@>aU)OV(B?Y=X2Pu<yg)2Qof8=bZ4 zyN6r#>$e;Ay>5-~|C3`E1lr5g#=kpuLH>vQME-;Pnfx31m-5f#AIcA9M{datdFjjn zK!uP15S9SuJYG6_0fT7-NCuV2oP10b}GC zD^-_R*V3Rd{MZa?2lWe2&|6wC`~oYNwky2PDr=jnpLdR{17<PMI2+2a>%5PmM^f>o$;NZ7pvXdOc0|o!y3x}2UEYcpfZau2&k^w%@G(J&#%p#UwOhX{ zDC|!}WSR!I?4CR`QpaX2oSkFF#r|9r0}YFDSpFOi&RuB70?UVeb(9CNW+n-tluU3h zOLe;jg`#s~O;Y{yp8H^PO}C zR<1Rxjr^O1VC{yBcDY__ZnDL14KB@<(jCbA$yC!d9De?>KWvoV&8uMtk&pDdEp0P3 z=sWPKr*vH?n7!*FH~4tDiO)3nC0lLzUiH_^cgSlf$0(6gP5$qBN-q@U(RoQO5JFfiqf+)*s zmE9@T`STZMi;)2XWvl?5HJbHm_#6wiy3LH8&A~^Su$yeLvJ7oP)uYJaYPC^2KKI1# zydTGdP|Scn@rdd|5YxOFDG?2QlR=d8W;kHnw&y~{_y6$FKYSqpB!C2v01`j~NB{{S z0VIF~kN^@u0_T_j-~W%$j|KXKKBm8;AJb3iPv}SV2ee0BdY68OR%waOL!{|->W2!> zF$y#d2_OL^fCP{L5&d@FWD16;px! z@Yn$m5`h5e{y+#U8zo61WrO4K%;!QP;|SEwIP~+EWunneB!C2v01`j~NB{{S0VIF~ zkN^_+FA$*bi|Gl8cvrXhod=Z%TBi%CFCaUH1qm#UegWAt{QM@i)`ktR4!02acf;Fk zmS-{O=tn=d;BJJrzGuKk@OVE**?}JX`{~1P!oN9~svt;RVwneq+xf;ESm;TjH?<9; sCm#R%hQD2FR+{zr_(55iJ0()!`vlCF0tNmD!;d9WK%eroGKo^@pG;_PDgXcg literal 0 HcmV?d00001 diff --git a/BddCorrect/controleur/Controleur.php b/BddCorrect/controleur/Controleur.php index ccc6c6c..30df799 100644 --- a/BddCorrect/controleur/Controleur.php +++ b/BddCorrect/controleur/Controleur.php @@ -35,11 +35,17 @@ class Controleur { $this->afficherDemonstrations(); break; + case 'Générer Base de données aléatoire': + $this->resetRandomBdd(); + break; case 'ok' : //$this->verificationConnexion(); $this->afficherDemonstrations(); break; + case 'Reintiliser les demonstrations' : + $this->resetDemonstrations(); + break; case 'Afficher les QCM' : $this->afficherQCM(); @@ -62,6 +68,19 @@ class Controleur { //$this->afficherQuestions(); } + function resetRandomBdd(){ + require_once('BDD/OracleDb.php'); + $oraDb = new OracleDb(); + $oraDb->createRandomTables(); + $this->afficherQuestions(); + } + function resetDemonstrations(){ + $db = new SqliteDb(); + $db->createDemonstration(); + $this->afficherDemonstrations(); + + } + function afficherQuestions(){ global $rep,$vues,$css; diff --git a/BddCorrect/nbproject/private/private.xml b/BddCorrect/nbproject/private/private.xml index 398b8c3..4279b6d 100644 --- a/BddCorrect/nbproject/private/private.xml +++ b/BddCorrect/nbproject/private/private.xml @@ -4,12 +4,13 @@ file:/C:/xampp/htdocs/BddCorrect/vues/VueAdmin.php - file:/C:/xampp/htdocs/BddCorrect/metier/Question.php - file:/C:/xampp/htdocs/BddCorrect/Modification.php - file:/C:/xampp/htdocs/BddCorrect/SqliteDb.php - file:/C:/xampp/htdocs/BddCorrect/vues/VuePrincipale.php - file:/C:/xampp/htdocs/BddCorrect/AjoutQuestion.php - file:/C:/xampp/htdocs/BddCorrect/Correcteur.php + file:/C:/xampp/htdocs/BddCorrect/Traitement/AjoutQuestion.php + file:/C:/xampp/htdocs/BddCorrect/BDD/SqliteDb.php + file:/C:/xampp/htdocs/BddCorrect/Traitement/Suppression.php + file:/C:/xampp/htdocs/BddCorrect/Traitement/Ordre.php + file:/C:/xampp/htdocs/BddCorrect/Traitement/Modification.php + file:/C:/xampp/htdocs/BddCorrect/BDD/OracleDb.php + file:/C:/xampp/htdocs/BddCorrect/Traitement/Correcteur.php diff --git a/BddCorrect/vues/VueAdmin.php b/BddCorrect/vues/VueAdmin.php index b9eb5bf..df63ffe 100644 --- a/BddCorrect/vues/VueAdmin.php +++ b/BddCorrect/vues/VueAdmin.php @@ -1,45 +1,101 @@ + + + + + + + + + + +
+
+ + +

Ajouter une question

+
+ + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ +
+
+
+
+ +
+ + + + diff --git a/BddCorrect/vues/VueAjoutDemo.php b/BddCorrect/vues/VueAjoutDemo.php index adc4666..4c4c13f 100644 --- a/BddCorrect/vues/VueAjoutDemo.php +++ b/BddCorrect/vues/VueAjoutDemo.php @@ -1,33 +1,67 @@ + + + + + + + + + + +
+
- - -
+

Ajouter une question

+
+ + + + + -

Ajouter une démonstration

-
- - + + - - - - - + + + + + - - +
+ +
+
+ +
+ +
+ + + + diff --git a/BddCorrect/vues/VueDemonstration.php b/BddCorrect/vues/VueDemonstration.php index 5d7ca40..50033b3 100644 --- a/BddCorrect/vues/VueDemonstration.php +++ b/BddCorrect/vues/VueDemonstration.php @@ -56,6 +56,8 @@ +

+

@@ -68,9 +70,8 @@
-
-
-
+ +
@@ -78,46 +79,36 @@


+
- - alert('$message');"; - $db = new SqliteDb(); - $db->createDemonstration(); - $URL="index.php"; - echo ''; - } - - - ?> - - +
+ +