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 @@ - file:/C:/xampp/htdocs/BddCorrect/vues/VueAjoutDemo.php + file:/C:/xampp/htdocs/BddCorrect/vues/VueQCM.php file:/C:/xampp/htdocs/BddCorrect/BDD/SqliteDb.php - file:/C:/xampp/htdocs/BddCorrect/questions.txt + file:/C:/xampp/htdocs/BddCorrect/Traitement/AjoutQCM.php + file:/C:/xampp/htdocs/BddCorrect/vues/vueAjoutQCM.php diff --git a/BddCorrect/vues/VueAdmin.php b/BddCorrect/vues/VueAdmin.php index b1c5a1d..019efdb 100644 --- a/BddCorrect/vues/VueAdmin.php +++ b/BddCorrect/vues/VueAdmin.php @@ -18,9 +18,6 @@ - - - diff --git a/BddCorrect/vues/VueAjoutDemo.php b/BddCorrect/vues/VueAjoutDemo.php index 444c983..4472768 100644 --- a/BddCorrect/vues/VueAjoutDemo.php +++ b/BddCorrect/vues/VueAjoutDemo.php @@ -19,10 +19,6 @@ - - - - diff --git a/BddCorrect/vues/VueDemonstration.php b/BddCorrect/vues/VueDemonstration.php index 50dfc04..7d7d121 100644 --- a/BddCorrect/vues/VueDemonstration.php +++ b/BddCorrect/vues/VueDemonstration.php @@ -53,11 +53,14 @@ -

- - - -

+

+ + + + + + +

@@ -109,31 +112,33 @@ }); } } - function DescendreDemonstration(nbQuestions,numQuestion, numTp) { + function DescendreDemonstration(nbQuestions,numQuestion, numTp) { //alert(nbQuestions); - var des = 1; - if(numQuestion < nbQuestions){ - $.get("Traitement/OrdreDemo.php", { des : des , numDemo : numQuestion, numChapitre : numTp }, - function(data) { + var des = 1; + if(numQuestion < nbQuestions){ + $.get("Traitement/OrdreDemo.php", { des : des , numDemo : numQuestion, numChapitre : numTp }, + function(data) { - //$('#questionsForm')[0].reset(); - $("#afficher-demo").trigger("click"); - //window.location.replace("index.php"); - }); + //$('#questionsForm')[0].reset(); + $("#afficher-demo").trigger("click"); + //window.location.replace("index.php"); + }); + } } - } function SupprimerDemonstration(numDemo,numChapitre) { - var type = "demo"; - $.get("Traitement/Suppression.php", { numChapitre : numChapitre, numDemo : numDemo,demo : type}, - function(data) { - //$('#results'+numDemo+numChapitre).html(data); - //$('#questionsForm')[0].reset(); - $("#afficher-demo").trigger("click"); - }); - - } + var result = confirm("Êtes-vous sûr de vouloir supprimer la démonstration "+numDemo+" du chapitre "+numChapitre+" ?"); + if(result){ + var type = "demo"; + $.get("Traitement/Suppression.php", { numChapitre : numChapitre, numDemo : numDemo,demo : type}, + function(data) { + //$('#results'+numDemo+numChapitre).html(data); + //$('#questionsForm')[0].reset(); + $("#afficher-demo").trigger("click"); + }); + } + } function changerSection(tp,keys){ @@ -156,6 +161,14 @@ }); } + + window.addEventListener('scroll',function() { + localStorage.setItem('scrollPosition',window.scrollY); + },false); + window.addEventListener('load',function() { + if(localStorage.getItem('scrollPosition') !== null) + window.scrollTo(0, localStorage.getItem('scrollPosition')); + },false); diff --git a/BddCorrect/vues/VuePrincipale.php b/BddCorrect/vues/VuePrincipale.php index a69278c..ea472a6 100644 --- a/BddCorrect/vues/VuePrincipale.php +++ b/BddCorrect/vues/VuePrincipale.php @@ -76,10 +76,10 @@

- - - -

+ + + +

@@ -161,6 +161,8 @@ } function SupprimerQuestion(numQuestion,numTp) { + var result = confirm("Êtes-vous sûr de vouloir supprimer la question "+numQuestion+" du TP "+numTp+" ?"); + if(!result) return; $.get("Traitement/Suppression.php", { numQuestion : numQuestion, numTp : numTp}, function(data) { //$('#resultatsQuestions'+numQuestion).html(data); diff --git a/BddCorrect/vues/VueQCM.php b/BddCorrect/vues/VueQCM.php index c86231c..de2636c 100644 --- a/BddCorrect/vues/VueQCM.php +++ b/BddCorrect/vues/VueQCM.php @@ -40,7 +40,7 @@ getReponse() as $r ) { ?> - getNumReponse().'.'.$r->getReponse(); ?>
+ getNumReponse().'.'.$r->getReponse(); ?>

- - - -

+ + + + + +


@@ -74,9 +76,12 @@ function SubmitQCMData(numQuestion) { //document.write($('#textbox'+numQuestion).val()); var name = "radiobox"+numQuestion; - var txt = $("input[name="+name+"]:checked").val(); - - $.get("Traitement/CorrectionQCM.php", { textbox: txt , numQuestion: numQuestion}, + //var txt = $("input[name="+name+"]:checked").val(); + + var rep1 = $('#textbox'+numQuestion+1).is(':checked'); + var rep2 = $('#textbox'+numQuestion+2).is(':checked'); + var rep3 = $('#textbox'+numQuestion+3).is(':checked'); + $.get("Traitement/CorrectionQCM.php", { numQuestion: numQuestion, rep1 : rep1, rep2 : rep2, rep3 : rep3}, function(data) { $('#results'+numQuestion).html(data); //$('#QCMForm')[0].reset(); @@ -112,14 +117,16 @@ function SupprimerQCM(numQuestion) { - var type = "qcm"; - $.get("Traitement/Suppression.php", { numQuestion : numQuestion ,qcm : type}, - function(data) { - //$('#results'+numDemo+numChapitre).html(data); - //$('#questionsForm')[0].reset(); - $("#inp-questions").trigger("click"); - }); - + var result = confirm("Êtes-vous sûr de vouloir supprimer la question "+numQuestion+" ?"); + if(result){ + var type = "qcm"; + $.get("Traitement/Suppression.php", { numQuestion : numQuestion ,qcm : type}, + function(data) { + //$('#results'+numDemo+numChapitre).html(data); + //$('#questionsForm')[0].reset(); + $("#inp-questions").trigger("click"); + }); + } } function ModifierQCM(numQuestion) { $.get("Traitement/ModificationQCM.php", { numQuestion : numQuestion }, @@ -131,6 +138,14 @@ }); } + + window.addEventListener('scroll',function() { + localStorage.setItem('scrollPosition',window.scrollY); + },false); + window.addEventListener('load',function() { + if(localStorage.getItem('scrollPosition') !== null) + window.scrollTo(0, localStorage.getItem('scrollPosition')); + },false); diff --git a/BddCorrect/vues/vueAjoutQCM.php b/BddCorrect/vues/vueAjoutQCM.php index 5aa6aeb..37776ac 100644 --- a/BddCorrect/vues/vueAjoutQCM.php +++ b/BddCorrect/vues/vueAjoutQCM.php @@ -16,10 +16,6 @@

Ajouter une question(QCM)


- - - - @@ -32,10 +28,10 @@ -