diff --git a/BddCorrect/BDD/SqliteDb.php b/BddCorrect/BDD/SqliteDb.php
index 94f21e7..66d9dc6 100644
--- a/BddCorrect/BDD/SqliteDb.php
+++ b/BddCorrect/BDD/SqliteDb.php
@@ -41,6 +41,8 @@ class SqliteDb extends SQLite3
$this->exec("INSERT INTO Type VALUES(2,4,'query')");
$this->exec("INSERT INTO Type VALUES(2,5,'functionCorrect')");
+
+ $this->createDateTp();
//Question 1
$type = 'query';
@@ -156,9 +158,10 @@ class SqliteDb extends SQLite3
$this->exec("INSERT INTO QcmReponse VALUES(1,'Ceci est la reponse 1 de la question 1(fausse)',1)");
$this->exec("INSERT INTO QcmReponse VALUES(2,'Ceci est la reponse 2 de la question 1(Vraie)',1)");
- $this->exec("INSERT INTO QcmReponse VALUES(3,'Ceci est la reponse 3 de la question 1(fausse)',1)");
+ $this->exec("INSERT INTO QcmReponse VALUES(3,'Ceci est la reponse 3 de la question 1(Vraie)',1)");
$this->exec("INSERT INTO QcmCorrection VALUES(1,2)");
+ $this->exec("INSERT INTO QcmCorrection VALUES(1,3)");
//Question 2
$this->exec("INSERT INTO QcmQuestion VALUES(2,'Ceci est la question 2')");
@@ -256,8 +259,9 @@ class SqliteDb extends SQLite3
return true;
}
- function ajouterQCM($numQuestion,$consigne,$choix1,$choix2,$choix3,$numReponse){
- if($this->verificationExistenceQCM($numQuestion)) return false;
+ function ajouterQCM($numQuestion,$consigne,$choix1,$choix2,$choix3,$reponses){
+ if($this->verificationExistenceQCM($numQuestion)) return false;
+
$qt = "INSERT INTO QcmQuestion VALUES(?,?)";
$prp=$this->prepare($qt);
$prp->bindParam(1, $numQuestion);
@@ -282,12 +286,13 @@ class SqliteDb extends SQLite3
$stmt->bindParam(2,$numQuestion);
$stmt->execute();
- $qt = "INSERT INTO QcmCorrection VALUES(?,?)";
- $prp=$this->prepare($qt);
- $prp->bindParam(1, $numQuestion);
- $prp->bindParam(2, $numReponse);
- $prp->execute();
-
+ foreach($reponses as $numReponse){
+ $qt = "INSERT INTO QcmCorrection VALUES(?,?)";
+ $prp=$this->prepare($qt);
+ $prp->bindParam(1, $numQuestion);
+ $prp->bindParam(2, $numReponse);
+ $prp->execute();
+ }
return true;
}
diff --git a/BddCorrect/Traitement/AjoutDemonstration.php b/BddCorrect/Traitement/AjoutDemonstration.php
index 9da4554..c240e45 100644
--- a/BddCorrect/Traitement/AjoutDemonstration.php
+++ b/BddCorrect/Traitement/AjoutDemonstration.php
@@ -7,23 +7,26 @@ require_once('../controleur/Controleur.php');
$db = new SqliteDb('o');
-if (empty($_GET['chapitre']) || empty($_GET['bdd']) || empty($_GET['numDemo']) || empty($_GET['description']) || empty($_GET['reponse']) ) {
+if (empty($_GET['chapitre']) || empty($_GET['bdd']) || 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 {
+ $reponseQuery = $db->prepare('SELECT count(*) FROM demonstration WHERE chapitre=?');
+ $reponseQuery->bindParam(1, $_GET['chapitre']);
+ $reponseResult = $reponseQuery->execute();
+ $reponseRow = $reponseResult->fetchArray();
+ $numDemo = $reponseRow['count(*)'] + 1;
+
if(isset($_GET['modif'])){
- $db->supprimerDemonstration($_GET['chapitre'], $_GET['numDemo']);
+ $db->supprimerDemonstration($_GET['chapitre'], $numDemo);
}
- $isAdd = $db->ajouterDemonstration($_GET['bdd'],$_GET['chapitre'],$_GET['numDemo'],$_GET['description'], $_GET['reponse']);
+ $isAdd = $db->ajouterDemonstration($_GET['bdd'],$_GET['chapitre'],$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';
}
diff --git a/BddCorrect/Traitement/AjoutQCM.php b/BddCorrect/Traitement/AjoutQCM.php
index 6c6a428..f998e32 100644
--- a/BddCorrect/Traitement/AjoutQCM.php
+++ b/BddCorrect/Traitement/AjoutQCM.php
@@ -4,13 +4,28 @@ require_once('../BDD/SqliteDb.php');
require_once('../controleur/Controleur.php');
$db = new SqliteDb('o');
-if(isset($_GET['modif'])){
- $db->supprimerQCM ($_GET['numQuestion']);
-}
+$reponseQuery = $db->prepare('SELECT count(*) FROM QcmQuestion');
+$reponseResult = $reponseQuery->execute();
+$reponseRow = $reponseResult->fetchArray();
+$numQuestion = $reponseRow['count(*)'] + 1;
+$reponses = array();
+if(isset($_GET['modif'])){
+ $db->supprimerQCM ($numQuestion);
+}
-$isAdd = $db->ajouterQCM($_GET['numQuestion'],$_GET['consigne'],$_GET['choix1'],$_GET['choix2'],$_GET['choix3'], $_GET['reponse']);
+//die($_GET['rep1'].'-'.$_GET['rep2'].'-'.$_GET['rep3']);
+if($_GET['rep1'] == 'true'){
+ $reponses[] = 1;
+}
+if($_GET['rep2'] == 'true'){
+ $reponses[] =2;
+}
+if($_GET['rep3'] == 'true'){
+ $reponses[] = 3;
+}
+$isAdd = $db->ajouterQCM($numQuestion,$_GET['consigne'],$_GET['choix1'],$_GET['choix2'],$_GET['choix3'],$reponses);
if(!$isAdd){
echo 'ERREUR : le numéro de question existe déjà dans la bdd';
}
diff --git a/BddCorrect/Traitement/AjoutQuestion.php b/BddCorrect/Traitement/AjoutQuestion.php
index 8791878..ab13951 100644
--- a/BddCorrect/Traitement/AjoutQuestion.php
+++ b/BddCorrect/Traitement/AjoutQuestion.php
@@ -6,27 +6,31 @@ require_once('../controleur/Controleur.php');
$db = new SqliteDb('o');
-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'])) {
+if (empty($_GET['tp']) || empty($_GET['bdd']) || 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° :\' ';
else if(!is_numeric($_GET['points']))
echo 'ERREUR : une valeur non numérique à été détectée dans le champ \'Barème:\' ';
else {
+
+ $reponseQuery = $db->prepare('SELECT count(*) FROM type WHERE numTp=?');
+ $reponseQuery->bindParam(1, $_GET['tp']);
+ $reponseResult = $reponseQuery->execute();
+ $reponseRow = $reponseResult->fetchArray();
+ $numQuestion = $reponseRow['count(*)'] + 1;
+
if(isset($_GET['modif'])){
if ($_GET["type"] == 'fonction')
- $db->supprimerFonction ($_GET['num'], $_GET['tp']);
+ $db->supprimerFonction ($numQuestion, $_GET['tp']);
else if ($_GET["type"] == 'requete')
- $db->supprimerRequete($_GET['num'], $_GET['tp']);
+ $db->supprimerRequete($numQuestion, $_GET['tp']);
}
-
+
if ($_GET["type"] == 'requete'){
- $isAdd = $db->ajouterRequete($_GET['bdd'],$_GET['tp'],$_GET['num'],$_GET['consigne'], $_GET['reponse'],$_GET['points']);
+ $isAdd = $db->ajouterRequete($_GET['bdd'],$_GET['tp'],$numQuestion,$_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';
}
@@ -55,7 +59,8 @@ else {
$freponse = $reponse;
$ffonction = $fonction;
}
- $isAdd = $db->ajouterFonction($_GET['bdd'],$_GET['tp'],$_GET['num'],$_GET['consigne'], $freponse,$ffonction,$reponse,$_GET['points']);
+
+ $isAdd = $db->ajouterFonction($_GET['bdd'],$_GET['tp'],$numQuestion,$_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';
}
diff --git a/BddCorrect/Traitement/CorrectionQCM.php b/BddCorrect/Traitement/CorrectionQCM.php
index 22417e7..32504b8 100644
--- a/BddCorrect/Traitement/CorrectionQCM.php
+++ b/BddCorrect/Traitement/CorrectionQCM.php
@@ -7,23 +7,71 @@ $db = new SqliteDb('o');
$oracleDb = new OracleDb();
$conn = $oracleDb->getConn();
+$numReponseRow = array();
+
+
+/*echo $_GET['rep1'];
+echo $_GET['rep2'];
+echo $_GET['rep3'];*/
$query = $db->prepare('SELECT numReponse FROM QcmCorrection WHERE numQuestion=?');
$query->bindParam(1, $_GET['numQuestion']);
$result = $query->execute();
-$numReponseRow = $result->fetchArray();
-$reponseQuery = $db->prepare('SELECT reponse FROM QcmReponse WHERE numReponse=? AND numQuestion=?');
+while($r = $result->fetchArray() ){
+ $numReponseRow[] = $r['numReponse'];
+}
+
+
+$err = 0;
+
+//reponse 1
+if(in_array(1, $numReponseRow) ) {
+ if($_GET['rep1']!='true'){
+ $err++;
+ }
+}
+else if($_GET['rep1']=='true'){
+ $err++;
+}
+
+//reponse 2
+if(in_array(2, $numReponseRow) ) {
+ if($_GET['rep2']!='true'){
+ $err++;
+ }
+}
+else if($_GET['rep2']=='true'){
+ $err++;
+}
+
+//reponse 2
+if(in_array(3, $numReponseRow) ) {
+ if($_GET['rep3']!='true'){
+ $err++;
+ }
+}
+else if($_GET['rep3']=='true'){
+ $err++;
+}
+
+if($err == 0){
+ echo 'Bonne réponse !';
+}
+else echo 'Mauvaise réponse.';
+/*$reponseQuery = $db->prepare('SELECT reponse FROM QcmReponse WHERE numReponse=? AND numQuestion=?');
$reponseQuery->bindParam(1, $numReponseRow['numReponse']);
$reponseQuery->bindParam(2, $_GET['numQuestion']);
$reponseResult = $reponseQuery->execute();
$reponseRow = $reponseResult->fetchArray();
+
+
if($_GET['textbox'] == $reponseRow['reponse']){
echo 'Bonne réponse !';
}
-else echo $reponseRow['reponse'].'Mauvaise Réponse.';
+else echo $reponseRow['reponse'].'Mauvaise Réponse.';*/
diff --git a/BddCorrect/Traitement/test2.db b/BddCorrect/Traitement/test2.db
index 09a3dc6..1b39289 100644
Binary files a/BddCorrect/Traitement/test2.db and b/BddCorrect/Traitement/test2.db differ
diff --git a/BddCorrect/css/VueDemonstration.css b/BddCorrect/css/VueDemonstration.css
index 7319f7e..faafc2b 100644
--- a/BddCorrect/css/VueDemonstration.css
+++ b/BddCorrect/css/VueDemonstration.css
@@ -33,3 +33,11 @@ footer{
min-height: 12vh;
border : double;
}
+
+#inp-gauche{
+ margin-left: 50px;
+}
+
+#inp-centre{
+ margin-left: 60px;
+}
diff --git a/BddCorrect/css/VuePrincipale.css b/BddCorrect/css/VuePrincipale.css
index ddc5ad1..41b703a 100644
--- a/BddCorrect/css/VuePrincipale.css
+++ b/BddCorrect/css/VuePrincipale.css
@@ -8,7 +8,13 @@ and open the template in the editor.
Author : Mehdi
*/
+#inp-gauche{
+ margin-left: 50px;
+}
+#inp-centre{
+ margin-left: 60px;
+}
footer{
position: relative;
diff --git a/BddCorrect/nbproject/private/private.xml b/BddCorrect/nbproject/private/private.xml
index 57d33db..e34b4ac 100644
--- a/BddCorrect/nbproject/private/private.xml
+++ b/BddCorrect/nbproject/private/private.xml
@@ -3,9 +3,10 @@
- - - -
++ + + + + + +
- - - -
+ + + +- - - -
+ + + + + +