From d43ca84aa04d7baf873c528104b5defa01cb0c5a Mon Sep 17 00:00:00 2001 From: Mehdi Date: Tue, 14 Jul 2020 11:45:27 +0200 Subject: [PATCH] =?UTF-8?q?ajout=20de=20fonctionnalit=C3=A9s=20dont=20l'aj?= =?UTF-8?q?out=20manuel=20de=20questions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BddCorrect/AjoutQuestion.php | 14 ++++++ BddCorrect/Correcteur.php | 15 +++--- BddCorrect/DAL/QuestionsGateway.php | 2 +- BddCorrect/OracleDb.php | 4 +- BddCorrect/SqliteDb.php | 61 ++++++++++++----------- BddCorrect/modeles/Modele.php | 2 +- BddCorrect/nbproject/private/private.xml | 6 +++ BddCorrect/test.db | Bin 24576 -> 24576 bytes BddCorrect/vues/VueAdmin.php | 15 ++++-- BddCorrect/vues/VuePrincipale.php | 11 ++-- 10 files changed, 83 insertions(+), 47 deletions(-) create mode 100644 BddCorrect/AjoutQuestion.php diff --git a/BddCorrect/AjoutQuestion.php b/BddCorrect/AjoutQuestion.php new file mode 100644 index 0000000..d396fe2 --- /dev/null +++ b/BddCorrect/AjoutQuestion.php @@ -0,0 +1,14 @@ +ajouterRequete($_POST['num'],$_POST['consigne'], $_POST['reponse']); +else +//require_once('index.php'); +header("Location: index.php"); + diff --git a/BddCorrect/Correcteur.php b/BddCorrect/Correcteur.php index 5c31cc6..98e2d4d 100644 --- a/BddCorrect/Correcteur.php +++ b/BddCorrect/Correcteur.php @@ -9,8 +9,8 @@ require_once('OracleDb.php'); header('Content-type: text/plain'); $db = new SqliteDb(); -$conn = oci_connect('u_prems', '123456','localhost/orcl'); -//$conn = oci_connect('meelaichao', 'meelaichao', 'kirov:1521/kirov'); +//$conn = oci_connect('u_prems', '123456','localhost/orcl'); +$conn = oci_connect('meelaichao', 'meelaichao', 'kirov:1521/kirov'); $_SESSION['fi'] = array(); $cmpt = 0; @@ -165,7 +165,7 @@ foreach ($_POST['textbox'] as $textbox) { } //si la question attend un CREATE FUNCTION else{ - $fonctionQuery = $db->prepare('SELECT * FROM FunctionCorrect WHERE rowid= ? '); + $fonctionQuery = $db->prepare('SELECT * FROM FunctionCorrect WHERE numquestion= ? '); $fonctionQuery->bindParam(1, $numQuestion); $result = $fonctionQuery->execute(); $fonctionRow = $result->fetchArray(); @@ -181,11 +181,14 @@ foreach ($_POST['textbox'] as $textbox) { if(oci_num_rows($testUser) != oci_num_rows($testF)){ $err=-3; } - while( ($reponseRow = oci_fetch_array($testUser,OCI_NUM)) && $err == 0){ + while( ($reponseRow = oci_fetch_array($testUser,OCI_NUM)) && $err == 0){ echo 'qdsdqdsqdqs'; + $vraiReponseRow = oci_fetch_array($testF,OCI_NUM ); + $verif=1; - if(sizeof($reponseRow) == sizeof($vraiReponseRow)){ - for($i=0 ; $i< sizeof($vraiReponseRow)-1 ; $i++){ + if(sizeof($reponseRow) == sizeof($vraiReponseRow)){ + for($i=0 ; $i< sizeof($vraiReponseRow) ; $i++){echo 'IIIDFFQSIDPFHJ'; + echo nl2br('reponse : '.$reponseRow[$i].'question : '.$vraiReponseRow[$i]); if($reponseRow[$i] != $vraiReponseRow[$i]){ $err = -1; break; diff --git a/BddCorrect/DAL/QuestionsGateway.php b/BddCorrect/DAL/QuestionsGateway.php index 65b6e64..ccc1184 100644 --- a/BddCorrect/DAL/QuestionsGateway.php +++ b/BddCorrect/DAL/QuestionsGateway.php @@ -10,7 +10,7 @@ class QuestionsGateway { public function afficherQuestions() { $i = 0; - $query = 'SELECT * FROM Correct UNION SELECT * FROM functionCorrect'; + $query = 'SELECT numquestion,question,reponse FROM Correct UNION SELECT numquestion,question,reponse FROM FunctionCorrect'; $query = $this->db->prepare($query); $result = $query->execute(); //$resultats = $this->db->query('SELECT found_rows()'); diff --git a/BddCorrect/OracleDb.php b/BddCorrect/OracleDb.php index 761603d..82c6d92 100644 --- a/BddCorrect/OracleDb.php +++ b/BddCorrect/OracleDb.php @@ -16,8 +16,8 @@ class OracleDb { private $conn; function __construct() { - $this->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/SqliteDb.php b/BddCorrect/SqliteDb.php index f2ef129..ea1d02d 100644 --- a/BddCorrect/SqliteDb.php +++ b/BddCorrect/SqliteDb.php @@ -13,7 +13,7 @@ class SqliteDb extends SQLite3 function createTable(){ //Création De La Table $this->exec('DROP TABLE Correct'); - $this->exec('CREATE TABLE Correct ( numquestion NUMBER,question STRING, reponse STRING, type STRING, fonctionCorrect STRING,testUser STRING)'); + $this->exec('CREATE TABLE Correct ( numquestion NUMBER,question STRING, reponse STRING,points NUMBER)'); $this->exec('DROP TABLE FunctionCorrect'); $this->exec('CREATE TABLE FunctionCorrect (numquestion NUMBER, question STRING, reponse STRING, type STRING, fonctionCorrect STRING,testUser STRING)'); @@ -28,67 +28,54 @@ class SqliteDb extends SQLite3 $this->exec("INSERT INTO Type VALUES(2,'query')"); $this->exec("INSERT INTO Type VALUES(3,'query')"); $this->exec("INSERT INTO Type VALUES(4,'query')"); - $this->exec("INSERT INTO Type VALUES(5,'query')"); - $this->exec("INSERT INTO Type VALUES(6,'functionCorrect')"); + $this->exec("INSERT INTO Type VALUES(5,'functionCorrect')"); //Question 1 $type = 'query'; - $fonctionCorrect = null; - $testU = null; + $points =1; $reponse = 'SELECT count(*) FROM STATS WHERE prenomnoms=\'Kevin Durant\' '; - $q = "INSERT INTO Correct VALUES (1,'Trouver le nombre de matchs joués par Kevin Durant', ? ,?,?,?)"; + $q = "INSERT INTO Correct VALUES (1,'Trouver le nombre de matchs joués par Kevin Durant', ? ,?)"; $stmt = $this->prepare($q); $stmt->bindParam(1,$reponse); - $stmt->bindParam(2,$type); - $stmt->bindParam(3,$fonctionCorrect); - $stmt->bindParam(4,$testU); + $stmt->bindParam(2,$points); $stmt->execute(); //Question 2 $type = 'query'; - $fonctionCorrect = null; - $testU = null; + $points =1; $reponse = ' SELECT prenomnoms,datematch,points,equipeadverse FROM STATS WHERE points = (SELECT max(points) FROM STATS)'; - $q = "INSERT INTO Correct VALUES (2,'Lister le(s) joueur(s) ayant marqué le plus de points dans la saison en indiquant son nom, la date du match, le nombre de points, l équipe adverse et le nombre de points marqués ', ? ,?,?,?)"; + $q = "INSERT INTO Correct VALUES (2,'Lister le(s) joueur(s) ayant marqué le plus de points dans la saison en indiquant son nom, la date du match, le nombre de points, l équipe adverse et le nombre de points marqués ', ? ,?)"; $stmt = $this->prepare($q); $stmt->bindParam(1,$reponse); - $stmt->bindParam(2,$type); - $stmt->bindParam(3,$fonctionCorrect); - $stmt->bindParam(4,$testU); + $stmt->bindParam(2,$points); $stmt->execute(); //Question 3 $type = 'query'; - $fonctionCorrect = null; - $testU = null; + $points =1; $reponse = ' SELECT prenomnoms, COUNT(*) FROM STATS GROUP BY prenomnoms HAVING count(*) = (SELECT MAX(c) FROM (SELECT COUNT(*) AS c FROM STATS GROUP BY prenomnoms))'; - $q = "INSERT INTO Correct VALUES (3,'Lister le(s) joueur(s) ayant joué le plus de match pendant la saison', ? ,?,?,?)"; + $q = "INSERT INTO Correct VALUES (3,'Lister le(s) joueur(s) ayant joué le plus de match pendant la saison', ? ,?)"; $stmt = $this->prepare($q); $stmt->bindParam(1,$reponse); - $stmt->bindParam(2,$type); - $stmt->bindParam(3,$fonctionCorrect); - $stmt->bindParam(4,$testU); + $stmt->bindParam(2,$points); $stmt->execute(); - //Question 5 + //Question 4 $type = 'query'; - $fonctionCorrect = null; - $testU = null; + $points =1; $reponse = 'SELECT nom FROM EQUIPE, STATS WHERE datematch = \'30-OCT-17\' AND prenomnoms = \'Kevin Durant\' AND idequipe = CASE WHEN locationjoueur = \'Away\' THEN equipeadverse WHEN locationjoueur = \'Home\' THEN equipejoueur END '; - $q = "INSERT INTO Correct VALUES (4,'Déterminer pour Kevin Durant pour le match du 30-oct-17 quelle est l équipe qui joue à domicile', ?,?,?,? )"; + $q = "INSERT INTO Correct VALUES (4,'Déterminer pour Kevin Durant pour le match du 30-oct-17 quelle est l équipe qui joue à domicile', ?,? )"; $stmt = $this->prepare($q); $stmt->bindParam(1,$reponse); - $stmt->bindParam(2,$type); - $stmt->bindParam(3,$fonctionCorrect); - $stmt->bindParam(4,$testU); + $stmt->bindParam(2,$points); $stmt->execute(); - //Question 6 + //Question 5 $this->joueurEtDateRandom($joueurRandom, $dateRandom); $type = 'fonction'; - $fonctionCorrect = 'CREATE OR REPLACE FUNCTION fpointsmarques(date_match IN VARCHAR2, joueur IN VARCHAR2 ) RETURN NUMBER IS nbPoints NUMBER ; BEGIN SELECT DISTINCT points INTO nbPoints FROM STATS WHERE datematch = date_match AND prenomnoms=joueur; RETURN nbPoints; END;' ; + $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' ; $q = "INSERT INTO FunctionCorrect VALUES (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', ?,?,?,? )"; @@ -170,6 +157,20 @@ class SqliteDb extends SQLite3 function createRandomTable(){ } + + function ajouterRequete($num,$consigne,$requete){ + $qt = "INSERT INTO Type VALUES(?,'query')"; + $prp=$this->prepare($qt); + $prp->bindParam(1, $num); + $prp->execute(); + $q = "INSERT INTO Correct VALUES (?,?,? ,1)"; + $stmt = $this->prepare($q); + $stmt->bindParam(1,$num); + $stmt->bindParam(2,$consigne); + $stmt->bindParam(3,$requete); + + $stmt->execute(); + } } diff --git a/BddCorrect/modeles/Modele.php b/BddCorrect/modeles/Modele.php index 8e222de..43ccb26 100644 --- a/BddCorrect/modeles/Modele.php +++ b/BddCorrect/modeles/Modele.php @@ -5,7 +5,7 @@ class Modele { function afficherQuestions(){ $db = new SqliteDb(); - $db->createTable(); + //$db->createTable(); $qg = new QuestionsGateway($db); $tabQuestions = $qg->afficherQuestions(); diff --git a/BddCorrect/nbproject/private/private.xml b/BddCorrect/nbproject/private/private.xml index 9275d2b..7dbabb8 100644 --- a/BddCorrect/nbproject/private/private.xml +++ b/BddCorrect/nbproject/private/private.xml @@ -3,10 +3,16 @@ + file:/C:/xampp/htdocs/BddCorrect/vues/VueAdmin.php + file:/C:/xampp/htdocs/BddCorrect/metier/Question.php file:/C:/xampp/htdocs/BddCorrect/index.php + file:/C:/xampp/htdocs/BddCorrect/controleur/Controleur.php file:/C:/xampp/htdocs/BddCorrect/SqliteDb.php file:/C:/xampp/htdocs/BddCorrect/vues/VuePrincipale.php file:/C:/xampp/htdocs/BddCorrect/OracleDb.php + file:/C:/xampp/htdocs/BddCorrect/modeles/Modele.php + file:/C:/xampp/htdocs/BddCorrect/DAL/QuestionsGateway.php + file:/C:/xampp/htdocs/BddCorrect/AjoutQuestion.php file:/C:/xampp/htdocs/BddCorrect/Correcteur.php diff --git a/BddCorrect/test.db b/BddCorrect/test.db index ff1fd3e22b715e8c3763a8c16ccdbe81844408ef..7c39fd51f3e758684d5e9bb0f8db095b2b09c926 100644 GIT binary patch delta 753 zcmb7>L2MF16oz+zWf|CIphjuHCSy|5mQqYxEKN*9ECmIDRtiN;OtYbj!OAYnE^XR_ z?NScaV4_)XP4rwn7(%?0^khuD)vLXG!Wa*p99WO_;3PBef8R^~{F%4k1^Zp_(mQnZ z3q?^@a{r#8&#wYAE<%GL%n?R&hZJ|%7Jsl7(!J3ya-(*o>(Qi5b{tIv#}x9h1yPpVL;+~A4G*>84HSv>!N_kOi{~{i227-T|GG# zR%5AHG>82-o?TAkOdy zRjW3}OA|Z`d0r8o2t}2IEY+k6e#BRV8;yvC0ovVzFtjY49CyY8Az;@^X2Lv;2-GW6 z-|UTX69XFCS`l_02Co2{3an7k%us)EO|vR@>vi0&Ph6ns2M*9^j`rVa%{S8Y z8mc)o;H=S^M-C(n=)Hyap1G;y&CJyF{8#{w<$}o|F7UOQAnITJNBaGU_OE&8XT;?i zrcswdztDGdhE7ozeMIljTl5+|BUvga1?^_!kq29V&j%Y_V)C4*Xt;eV`1~wpu0>1qdb&LdnqIxC@yg)Hl-UJ5TgpGNhcvu>xIwB^E z@_JAH&F9bT(-AY7kuc$6nq#JDV8LKPB85r1o^HVa@GE<8bauO9v z5|eUL6}P~} z3-b3>2o7-!304UAa1C;W7#5$Gn479#tDqj@8XTgoP*|E;RN3Ul!pX_l7}#tMw12am zjs>G2SiCWp87M5?WDgXc+@O132%=h_iIcIZyfGOl$~3uAS9Wu|9y239Sgx9pgR{7i z8Ki!aejY>&6by{Kj~RF$Zx$3d$t%~Q#mLRr)S|-3-J$?yNr6biMo!u0`bPH2|7}-G znd|yG2I(4FsOu=GdzBWKWacS& -
+

Ajouter Une Question


+ + + + + + +
- Se déconnecter +
diff --git a/BddCorrect/vues/VuePrincipale.php b/BddCorrect/vues/VuePrincipale.php index 3cb10db..1a80bcc 100644 --- a/BddCorrect/vues/VuePrincipale.php +++ b/BddCorrect/vues/VuePrincipale.php @@ -67,7 +67,7 @@

- +
@@ -77,12 +77,17 @@ if(array_key_exists('test',$_POST)){ $oraDb = new OracleDb; } - + if(array_key_exists('regenerer',$_POST)){ + $db = new SqliteDb(); + $db->createTable(); + $URL="index.php"; + echo ''; + } ?>