From 0ac27fb95ca8c48f17dd46bc70745275c77becab Mon Sep 17 00:00:00 2001
From: Mehdi
Date: Tue, 11 Aug 2020 12:47:16 +0200
Subject: [PATCH] =?UTF-8?q?ajout=20de=20fonctionnalit=C3=A9s=20pour=20les?=
=?UTF-8?q?=20demonstrations=20et=20les=20qcm?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
BddCorrect/BDD/SqliteDb.php | 46 +++++-
BddCorrect/DAL/QuestionsGateway.php | 25 ++-
BddCorrect/Traitement/AjoutQCM.php | 14 ++
BddCorrect/Traitement/Correcteur.php | 44 ++---
BddCorrect/Traitement/Ordre.php | 63 +++-----
BddCorrect/Traitement/OrdreDemo.php | 27 ++--
BddCorrect/Traitement/Suppression.php | 198 +++++++++++++----------
BddCorrect/Traitement/test2.db | Bin 40960 -> 61440 bytes
BddCorrect/config/config.php | 5 +
BddCorrect/controleur/Controleur.php | 44 ++++-
BddCorrect/css/VuePrincipale.css | 35 ----
BddCorrect/css/vueGestionTables.css | 46 ++++++
BddCorrect/demonstrations.txt | 2 +
BddCorrect/nbproject/private/private.xml | 7 +-
BddCorrect/questions.txt | 2 +
BddCorrect/vues/VueAccueil.php | 14 +-
BddCorrect/vues/VueAdmin.php | 91 +++++++++--
BddCorrect/vues/VueAjoutDemo.php | 78 +++++++--
BddCorrect/vues/VueDemonstration.php | 129 ++++++++++-----
BddCorrect/vues/VueGestionTables.php | 28 ++++
BddCorrect/vues/VuePrincipale.php | 31 ++--
BddCorrect/vues/VueQCM.php | 60 ++-----
BddCorrect/vues/vueAjoutQCM.php | 83 ++++++++++
23 files changed, 731 insertions(+), 341 deletions(-)
create mode 100644 BddCorrect/Traitement/AjoutQCM.php
create mode 100644 BddCorrect/css/vueGestionTables.css
create mode 100644 BddCorrect/demonstrations.txt
create mode 100644 BddCorrect/questions.txt
create mode 100644 BddCorrect/vues/VueGestionTables.php
create mode 100644 BddCorrect/vues/vueAjoutQCM.php
diff --git a/BddCorrect/BDD/SqliteDb.php b/BddCorrect/BDD/SqliteDb.php
index 9cb7307..80012c9 100644
--- a/BddCorrect/BDD/SqliteDb.php
+++ b/BddCorrect/BDD/SqliteDb.php
@@ -136,7 +136,7 @@ class SqliteDb extends SQLite3
$this->exec("INSERT INTO Demonstration VALUES('NBA',1,1,'Exemple de requête pour selectionner les 2 premières lignes de la table JOUEUR','SELECT * FROM JOUEUR WHERE rownum<3')");
$this->exec("INSERT INTO Demonstration VALUES('NBA',1,2,'Exemple de requête pour selectionner les 2 premières lignes de la table STATS','SELECT * FROM STATS WHERE rownum<3')");
-
+ $this->exec("INSERT INTO Demonstration VALUES('NBA',2,1,'Exemple de requête pour selectionner les 2 premières lignes de la table GAME','SELECT * FROM GAME WHERE rownum<3')");
}
function createQCM(){
@@ -245,6 +245,50 @@ class SqliteDb extends SQLite3
return true;
}
+ function ajouterQCM($numQuestion,$consigne,$choix1,$choix2,$choix3,$numReponse){
+ if($this->verificationExistenceQCM($numQuestion)) return false;
+ $qt = "INSERT INTO QcmQuestion VALUES(?,?)";
+ $prp=$this->prepare($qt);
+ $prp->bindParam(1, $numQuestion);
+ $prp->bindParam(2, $consigne);
+ $prp->execute();
+
+ $q = "INSERT INTO QcmReponse VALUES (1,?,?)";
+ $stmt = $this->prepare($q);
+ $stmt->bindParam(1,$choix1);
+ $stmt->bindParam(2,$numQuestion);
+ $stmt->execute();
+
+ $q = "INSERT INTO QcmReponse VALUES (2,?,?)";
+ $stmt = $this->prepare($q);
+ $stmt->bindParam(1,$choix2);
+ $stmt->bindParam(2,$numQuestion);
+ $stmt->execute();
+
+ $q = "INSERT INTO QcmReponse VALUES (3,?,?)";
+ $stmt = $this->prepare($q);
+ $stmt->bindParam(1,$choix3);
+ $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();
+
+ return true;
+ }
+
+ function verificationExistenceQCM($numQuestion){
+ $q = "SELECT count(*) FROM QcmQuestion WHERE numQuestion = ? ";
+ $prp=$this->prepare($q);
+ $prp->bindParam(1, $numQuestion);
+ $result = $prp->execute();
+ $row = $result->fetchArray();
+ if($row['count(*)'] == 0) return false;
+ return true;
+ }
function verificationExistenceQuestion($tp,$numQuestion){
$q = "SELECT count(*) FROM Type WHERE numTp = ? AND numQuestion = ? ";
diff --git a/BddCorrect/DAL/QuestionsGateway.php b/BddCorrect/DAL/QuestionsGateway.php
index 360261c..1d8eea6 100644
--- a/BddCorrect/DAL/QuestionsGateway.php
+++ b/BddCorrect/DAL/QuestionsGateway.php
@@ -36,15 +36,26 @@ class QuestionsGateway {
}
public function afficherDemonstrations() {
- $i = 0;
- $query = 'SELECT * FROM Demonstration ORDER BY numDemo ASC';
+ $tabQuestions=array();
+ $query = 'SELECT chapitre FROM Demonstration';
$query = $this->db->prepare($query);
$result = $query->execute();
- //$resultats = $this->db->query('SELECT found_rows()');
- while($q = $result->fetchArray()){
- $i= $i+1;
- $tabDemo[] = new Question(1,$q['numDemo'],$q['description'],$q['reponse']);
+ //$nbTpRow = $result->fetchArray(SQLITE3_NUM);
+ $i = 0;
+ while ($chapitre = $result->fetchArray(SQLITE3_NUM)){
+ $questionQuery = 'SELECT chapitre,numDemo,description,reponse FROM Demonstration WHERE chapitre = ? ORDER BY numDemo';
+ $questionQuery = $this->db->prepare($questionQuery);
+ $questionQuery->bindParam(1, $chapitre[0]);
+ $questionResult = $questionQuery->execute();
+ while($q = $questionResult->fetchArray()){
+ $tabQuestions[] = new Question($q['chapitre'],$q['numDemo'],$q['description'],$q['reponse']);
+ }
+ $tabChapitre['chapitre'.$chapitre[0]] = $tabQuestions ;
+ unset($tabQuestions);
+ $tabQuestions = array();
}
- return $tabDemo;
+
+ //die("".print_r($tabTp)."
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';
+
diff --git a/BddCorrect/Traitement/Correcteur.php b/BddCorrect/Traitement/Correcteur.php
index 4b52184..8b3e600 100644
--- a/BddCorrect/Traitement/Correcteur.php
+++ b/BddCorrect/Traitement/Correcteur.php
@@ -15,7 +15,7 @@ $conn = $n->getConn();
$_SESSION['fi'] = array();
$cmpt = 0;
-$numDemo = 0;
+$numQuestion = 0;
header("Cache-Control: no cache");
@@ -23,15 +23,15 @@ header("Cache-Control: no cache");
/*$numQuestion++;
$ic = "$numQuestion";*/
- $numDemo = $_GET['numQuestion'];
- $numChapitre = $_GET['numTp'];
- $_SESSION['fi'][$numDemo] = $textbox;
+ $numQuestion = $_GET['numQuestion'];
+ $numTp = $_GET['numTp'];
+ $_SESSION['fi'][$numQuestion] = $textbox;
$UserQuery = oci_parse($conn, $textbox);
$reponseUser = oci_execute($UserQuery);
$typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?');
- $typeQuery->bindParam(1, $numDemo);
- $typeQuery->bindParam(2, $numChapitre);
+ $typeQuery->bindParam(1, $numQuestion);
+ $typeQuery->bindParam(2, $numTp);
$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, $numDemo);
- $sqliteQuery->bindParam(2, $numChapitre);
+ $sqliteQuery->bindParam(1, $numQuestion);
+ $sqliteQuery->bindParam(2, $numTp);
$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, $numDemo);
- $aleatoireQuery->bindParam(2, $numChapitre);
+ $aleatoireQuery->bindParam(1, $numQuestion);
+ $aleatoireQuery->bindParam(2, $numTp);
$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 " .$numDemo. " est JUSTE ! \n";
+ echo "La réponse à la question " .$numQuestion. " est JUSTE ! \n";
$cmpt++;
}
- else echo "La réponse à la question " .$numDemo. " est FAUSSE ! \n";
+ else echo "La réponse à la question " .$numQuestion. " 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, $numDemo);
- $sqliteQuery->bindParam(2, $numChapitre);
+ $sqliteQuery->bindParam(1, $numQuestion);
+ $sqliteQuery->bindParam(2, $numTp);
$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, $numDemo);
- $sqliteQuery->bindParam(2, $numChapitre);
+ $sqliteQuery->bindParam(1, $numQuestion);
+ $sqliteQuery->bindParam(2, $numTp);
$result = $sqliteQuery->execute();
$sqliteRow = $result->fetchArray();
@@ -172,18 +172,18 @@ header("Cache-Control: no cache");
}
if($err == 0 ){
- echo "La réponse à la question " .$numDemo. " est JUSTE ! \n";
+ echo "La réponse à la question " .$numQuestion. " est JUSTE ! \n";
$cmpt++;
}
- else echo "La réponse à la question " .$numDemo. " est FAUSSE ! \n";
+ else echo "La réponse à la question " .$numQuestion. " est FAUSSE ! \n";
}
//si la question attend un CREATE FUNCTION
else{
$fonctionQuery = $db->prepare('SELECT * FROM FunctionCorrect WHERE numquestion= ? AND numTp= ? ');
- $fonctionQuery->bindParam(1, $numDemo);
- $fonctionQuery->bindParam(2, $numChapitre);
+ $fonctionQuery->bindParam(1, $numQuestion);
+ $fonctionQuery->bindParam(2, $numTp);
$result = $fonctionQuery->execute();
$fonctionRow = $result->fetchArray();
@@ -278,10 +278,10 @@ header("Cache-Control: no cache");
//
if($err == 0 && $verif==1 ){
- echo "La réponse à la question " .$numDemo. " est JUSTE ! \n";
+ echo "La réponse à la question " .$numQuestion. " est JUSTE ! \n";
$cmpt++;
}
- else echo "La réponse à la question " .$numDemo. " est FAUSSE ! \n";
+ else echo "La réponse à la question " .$numQuestion. " est FAUSSE ! \n";
}
diff --git a/BddCorrect/Traitement/Ordre.php b/BddCorrect/Traitement/Ordre.php
index a0e9daa..734cc28 100644
--- a/BddCorrect/Traitement/Ordre.php
+++ b/BddCorrect/Traitement/Ordre.php
@@ -4,24 +4,31 @@ require_once('../BDD/SqliteDb.php');
$db = new SqliteDb('o');
-$numDemo = $_GET['numQuestion'];
- $numChapitre = $_GET['numTp'];
-$numDemoPrec = $numDemo-1;
+$numQuestion = $_GET['numQuestion'];
+$numTp = $_GET['numTp'];
+$numQuestionPrec = $numQuestion-1;
$test = 999;
$Correct = 'Correct';
$function = 'functionCorrect';
-if($numDemo!=1){
+
+
+if(isset($_GET['des'])){
+ $numQuestion += 1;
+ $numQuestionPrec = $numQuestion-1;
+}
+
+if($numQuestion!=1){
$typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?');
- $typeQuery->bindParam(1, $numDemo);
- $typeQuery->bindParam(2, $numChapitre);
+ $typeQuery->bindParam(1, $numQuestion);
+ $typeQuery->bindParam(2, $numTp);
$resultType = $typeQuery->execute();
$typeRow = $resultType->fetchArray();
$typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?');
- $typeQuery->bindParam(1, $numDemoPrec);
- $typeQuery->bindParam(2, $numChapitre);
+ $typeQuery->bindParam(1, $numQuestionPrec);
+ $typeQuery->bindParam(2, $numTp);
$resultType = $typeQuery->execute();
$type2Row = $resultType->fetchArray();
@@ -40,8 +47,8 @@ if($numDemo!=1){
$sqliteQuery = $db->prepare('UPDATE '.$table.' SET numQuestion=? WHERE numQuestion=? AND numTp=?');
$sqliteQuery->bindParam(1, $test);
- $sqliteQuery->bindParam(2, $numDemo);
- $sqliteQuery->bindParam(3, $numChapitre);
+ $sqliteQuery->bindParam(2, $numQuestion);
+ $sqliteQuery->bindParam(3, $numTp);
$result = $sqliteQuery->execute();
//---------
@@ -55,15 +62,15 @@ if($numDemo!=1){
}
$sqliteQuery = $db->prepare('UPDATE '.$table2.' SET numQuestion=? WHERE numQuestion=? AND numTp=?');
- $sqliteQuery->bindParam(1, $numDemo);
- $sqliteQuery->bindParam(2, $numDemoPrec);
- $sqliteQuery->bindParam(3, $numChapitre);
+ $sqliteQuery->bindParam(1, $numQuestion);
+ $sqliteQuery->bindParam(2, $numQuestionPrec);
+ $sqliteQuery->bindParam(3, $numTp);
$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);
+ $sqliteQuery->bindParam(2, $numQuestion);
+ $sqliteQuery->bindParam(3, $numTp);
$resulti = $sqliteQuery->execute();
@@ -71,38 +78,18 @@ if($numDemo!=1){
$sqliteQuery = $db->prepare('UPDATE '.$table.' SET numQuestion=? WHERE numQuestion=? AND numTp=?');
- $sqliteQuery->bindParam(1, $numDemoPrec);
+ $sqliteQuery->bindParam(1, $numQuestionPrec);
$sqliteQuery->bindParam(2, $test);
- $sqliteQuery->bindParam(3, $numChapitre);
+ $sqliteQuery->bindParam(3, $numTp);
$resultp = $sqliteQuery->execute();
$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);
- $result = $sqliteQuery->execute();
-
- $sqliteQuery = $db->prepare('UPDATE Type SET numQuestion=? WHERE numQuestion=? AND numTp=?');
- $sqliteQuery->bindParam(1, $numQuestion);
$sqliteQuery->bindParam(2, $numQuestionPrec);
$sqliteQuery->bindParam(3, $numTp);
$resulti = $sqliteQuery->execute();
- $sqliteQuery = $db->prepare('UPDATE Type SET numQuestion=? WHERE numQuestion=? AND numTp=?');
- $sqliteQuery->bindParam(1, $numQuestionPrec);
- $sqliteQuery->bindParam(2, $test);
- $sqliteQuery->bindParam(3, $numTp);
- $resultp = $sqliteQuery->execute();*/
+
}
diff --git a/BddCorrect/Traitement/OrdreDemo.php b/BddCorrect/Traitement/OrdreDemo.php
index 5127180..efd6cf5 100644
--- a/BddCorrect/Traitement/OrdreDemo.php
+++ b/BddCorrect/Traitement/OrdreDemo.php
@@ -4,31 +4,36 @@ require_once('../BDD/SqliteDb.php');
$db = new SqliteDb('o');
-$numDemo = $_GET['numDemo'];
-$numChapitre = $_GET['numChapitre'];
-$numDemoPrec = $numDemo-1;
+$numQuestion = $_GET['numDemo'];
+$numTp = $_GET['numChapitre'];
+$numQuestionPrec = $numQuestion-1;
$test = 999;
-if($numDemo!=1){
+if(isset($_GET['des'])){
+ $numQuestion += 1;
+ $numQuestionPrec = $numQuestion-1;
+}
+
+if($numQuestion!=1){
$sqliteQuery = $db->prepare('UPDATE Demonstration SET numDemo=? WHERE numDemo=? AND chapitre=?');
$sqliteQuery->bindParam(1, $test);
- $sqliteQuery->bindParam(2, $numDemo);
- $sqliteQuery->bindParam(3, $numChapitre);
+ $sqliteQuery->bindParam(2, $numQuestion);
+ $sqliteQuery->bindParam(3, $numTp);
$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);
+ $sqliteQuery->bindParam(1, $numQuestion);
+ $sqliteQuery->bindParam(2, $numQuestionPrec);
+ $sqliteQuery->bindParam(3, $numTp);
$resulti = $sqliteQuery->execute();
$sqliteQuery = $db->prepare('UPDATE Demonstration SET numDemo=? WHERE numDemo=? AND chapitre=?');
- $sqliteQuery->bindParam(1, $numDemoPrec);
+ $sqliteQuery->bindParam(1, $numQuestionPrec);
$sqliteQuery->bindParam(2, $test);
- $sqliteQuery->bindParam(3, $numChapitre);
+ $sqliteQuery->bindParam(3, $numTp);
$resultp = $sqliteQuery->execute();
diff --git a/BddCorrect/Traitement/Suppression.php b/BddCorrect/Traitement/Suppression.php
index 2ab3913..1b751e6 100644
--- a/BddCorrect/Traitement/Suppression.php
+++ b/BddCorrect/Traitement/Suppression.php
@@ -4,112 +4,140 @@
require_once('../BDD/SqliteDb.php');
$db = new SqliteDb('o');
-$numQuestionSuiv = $_GET['numQuestion']+1;
-
-
-$sqliteQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion=? AND numTp = ?');
-$sqliteQuery->bindParam(1, $_GET['numQuestion']);
-$sqliteQuery->bindParam(2, $_GET['numTp']);
-$result = $sqliteQuery->execute();
-$typeRow = $result->fetchArray();
-
-$sqliteQuery = $db->prepare('DELETE FROM Type WHERE numquestion= ? AND numTp=? ');
-$sqliteQuery->bindParam(1, $_GET['numQuestion']);
-$sqliteQuery->bindParam(2, $_GET['numTp']);
-$result = $sqliteQuery->execute();
-
-
-if($typeRow['type'] == 'query'){
- $sqliteQuery = $db->prepare('SELECT count(*) FROM (SELECT numQuestion FROM Correct WHERE numTp=? UNION SELECT numQuestion FROM FunctionCorrect WHERE numTp=?)');
- $sqliteQuery->bindParam(1, $_GET['numTp']);
- $sqliteQuery->bindParam(2, $_GET['numTp']);
+if(isset($_GET['type'])){
+
+ $numDemoSuiv = $_GET['numDemo']+1;
+
+ $sqliteQuery = $db->prepare('SELECT count(*) FROM Demonstration WHERE chapitre=?');
+ $sqliteQuery->bindParam(1, $_GET['numChapitre']);
$result = $sqliteQuery->execute();
$nbQuestionsRow = $result->fetchArray();
- $sqliteQuery = $db->prepare('DELETE FROM Correct WHERE numquestion= ? AND numTp=? ');
- $sqliteQuery->bindParam(1, $_GET['numQuestion']);
- $sqliteQuery->bindParam(2, $_GET['numTp']);
+ $sqliteQuery = $db->prepare('DELETE FROM Demonstration WHERE numDemo= ? AND chapitre=? ');
+ $sqliteQuery->bindParam(1, $_GET['numDemo']);
+ $sqliteQuery->bindParam(2, $_GET['numChapitre']);
$result = $sqliteQuery->execute();
- for( $iSuiv = $numQuestionSuiv, $j=$_GET['numQuestion'] ; $iSuiv <= $nbQuestionsRow['count(*)'] ; $iSuiv++ , $j++ ){
-
- $typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?');
- $typeQuery->bindParam(1, $iSuiv);
- $typeQuery->bindParam(2, $_GET['numTp']);
- $resultType = $typeQuery->execute();
- $typeRow = $resultType->fetchArray();
-
- if($typeRow['type'] == 'query'){
- $table = 'Correct';
- $type = 'query';
- }
- else{
- $table = 'FunctionCorrect';
- $type = 'functionCorrect';
- }
-
- $sqliteQuery = $db->prepare('UPDATE '.$table.' SET numQuestion=? WHERE numQuestion=? AND numTp=? ');
- $sqliteQuery->bindParam(1, $j);
- $sqliteQuery->bindParam(2, $iSuiv);
- $sqliteQuery->bindParam(3, $_GET['numTp']);
- $result = $sqliteQuery->execute();
-
- $sqliteQuery = $db->prepare('UPDATE Type SET numQuestion=? WHERE numQuestion=? AND numTp=? ');
+ for( $iSuiv = $numDemoSuiv, $j=$_GET['numDemo'] ; $iSuiv <= $nbQuestionsRow['count(*)'] ; $iSuiv++ , $j++ ){
+ $sqliteQuery = $db->prepare('UPDATE Demonstration SET numDemo=? WHERE numDemo=? AND chapitre=? ');
$sqliteQuery->bindParam(1, $j);
$sqliteQuery->bindParam(2, $iSuiv);
- $sqliteQuery->bindParam(3, $_GET['numTp']);
+ $sqliteQuery->bindParam(3, $_GET['numChapitre']);
$result = $sqliteQuery->execute();
+ echo 'lol';
}
}
+
else {
-
- $sqliteQuery = $db->prepare('SELECT count(*) FROM (SELECT numQuestion FROM Correct WHERE numTp=? UNION SELECT numQuestion FROM FunctionCorrect WHERE numTp=?)');
- $sqliteQuery->bindParam(1, $_GET['numTp']);
+
+ $numQuestionSuiv = $_GET['numQuestion']+1;
+
+
+
+ $sqliteQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion=? AND numTp = ?');
+ $sqliteQuery->bindParam(1, $_GET['numQuestion']);
$sqliteQuery->bindParam(2, $_GET['numTp']);
$result = $sqliteQuery->execute();
- $nbQuestionsRow = $result->fetchArray();
-
- $sqliteQueryF = $db->prepare('DELETE FROM FunctionCorrect WHERE numquestion= ? AND numTp=?');
- $sqliteQueryF->bindParam(1, $_GET['numQuestion']);
- $sqliteQueryF->bindParam(2, $_GET['numTp']);
- $result = $sqliteQueryF->execute();
-
+ $typeRow = $result->fetchArray();
-
- for( $iSuiv = $numQuestionSuiv, $j=$_GET['numQuestion'] ; $iSuiv <= $nbQuestionsRow['count(*)'] ; $iSuiv++ , $j++ ){
-
- $typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?');
- $typeQuery->bindParam(1, $numQuestionSuiv);
- $typeQuery->bindParam(2, $_GET['numTp']);
- $resultType = $typeQuery->execute();
- $typeRow = $resultType->fetchArray();
+ $sqliteQuery = $db->prepare('DELETE FROM Type WHERE numquestion= ? AND numTp=? ');
+ $sqliteQuery->bindParam(1, $_GET['numQuestion']);
+ $sqliteQuery->bindParam(2, $_GET['numTp']);
+ $result = $sqliteQuery->execute();
-
- if($typeRow['type'] == 'query'){
- $table = 'Correct';
- $type = 'query';
- }
- else{
- $table = 'FunctionCorrect';
- $type = 'functionCorrect';
- }
-
- $sqliteQuery = $db->prepare('UPDATE '.$table.' SET numQuestion=? WHERE numQuestion=? AND numTp=? ');
- $sqliteQuery->bindParam(1, $j);
- $sqliteQuery->bindParam(2, $iSuiv);
- $sqliteQuery->bindParam(3, $_GET['numTp']);
+
+ if($typeRow['type'] == 'query'){
+ $sqliteQuery = $db->prepare('SELECT count(*) FROM (SELECT numQuestion FROM Correct WHERE numTp=? UNION SELECT numQuestion FROM FunctionCorrect WHERE numTp=?)');
+ $sqliteQuery->bindParam(1, $_GET['numTp']);
+ $sqliteQuery->bindParam(2, $_GET['numTp']);
$result = $sqliteQuery->execute();
-
- $sqliteQuery = $db->prepare('UPDATE Type SET numQuestion=? WHERE numQuestion=? AND numTp=? ');
- $sqliteQuery->bindParam(1, $j);
- $sqliteQuery->bindParam(2, $iSuiv);
- $sqliteQuery->bindParam(3, $_GET['numTp']);
+ $nbQuestionsRow = $result->fetchArray();
+
+ $sqliteQuery = $db->prepare('DELETE FROM Correct WHERE numquestion= ? AND numTp=? ');
+ $sqliteQuery->bindParam(1, $_GET['numQuestion']);
+ $sqliteQuery->bindParam(2, $_GET['numTp']);
$result = $sqliteQuery->execute();
+
+
+ for( $iSuiv = $numQuestionSuiv, $j=$_GET['numQuestion'] ; $iSuiv <= $nbQuestionsRow['count(*)'] ; $iSuiv++ , $j++ ){
+
+ $typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?');
+ $typeQuery->bindParam(1, $iSuiv);
+ $typeQuery->bindParam(2, $_GET['numTp']);
+ $resultType = $typeQuery->execute();
+ $typeRow = $resultType->fetchArray();
+
+ if($typeRow['type'] == 'query'){
+ $table = 'Correct';
+ $type = 'query';
+ }
+ else{
+ $table = 'FunctionCorrect';
+ $type = 'functionCorrect';
+ }
+
+ $sqliteQuery = $db->prepare('UPDATE '.$table.' SET numQuestion=? WHERE numQuestion=? AND numTp=? ');
+ $sqliteQuery->bindParam(1, $j);
+ $sqliteQuery->bindParam(2, $iSuiv);
+ $sqliteQuery->bindParam(3, $_GET['numTp']);
+ $result = $sqliteQuery->execute();
+
+ $sqliteQuery = $db->prepare('UPDATE Type SET numQuestion=? WHERE numQuestion=? AND numTp=? ');
+ $sqliteQuery->bindParam(1, $j);
+ $sqliteQuery->bindParam(2, $iSuiv);
+ $sqliteQuery->bindParam(3, $_GET['numTp']);
+ $result = $sqliteQuery->execute();
+ }
}
-}
+ else {
+
+ $sqliteQuery = $db->prepare('SELECT count(*) FROM (SELECT numQuestion FROM Correct WHERE numTp=? UNION SELECT numQuestion FROM FunctionCorrect WHERE numTp=?)');
+ $sqliteQuery->bindParam(1, $_GET['numTp']);
+ $sqliteQuery->bindParam(2, $_GET['numTp']);
+ $result = $sqliteQuery->execute();
+ $nbQuestionsRow = $result->fetchArray();
+
+ $sqliteQueryF = $db->prepare('DELETE FROM FunctionCorrect WHERE numquestion= ? AND numTp=?');
+ $sqliteQueryF->bindParam(1, $_GET['numQuestion']);
+ $sqliteQueryF->bindParam(2, $_GET['numTp']);
+ $result = $sqliteQueryF->execute();
+
+ for( $iSuiv = $numQuestionSuiv, $j=$_GET['numQuestion'] ; $iSuiv <= $nbQuestionsRow['count(*)'] ; $iSuiv++ , $j++ ){
+
+ $typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?');
+ $typeQuery->bindParam(1, $numQuestionSuiv);
+ $typeQuery->bindParam(2, $_GET['numTp']);
+ $resultType = $typeQuery->execute();
+ $typeRow = $resultType->fetchArray();
+
+
+ if($typeRow['type'] == 'query'){
+ $table = 'Correct';
+ $type = 'query';
+ }
+ else{
+ $table = 'FunctionCorrect';
+ $type = 'functionCorrect';
+ }
+
+ $sqliteQuery = $db->prepare('UPDATE '.$table.' SET numQuestion=? WHERE numQuestion=? AND numTp=? ');
+ $sqliteQuery->bindParam(1, $j);
+ $sqliteQuery->bindParam(2, $iSuiv);
+ $sqliteQuery->bindParam(3, $_GET['numTp']);
+ $result = $sqliteQuery->execute();
+
+ $sqliteQuery = $db->prepare('UPDATE Type SET numQuestion=? WHERE numQuestion=? AND numTp=? ');
+ $sqliteQuery->bindParam(1, $j);
+ $sqliteQuery->bindParam(2, $iSuiv);
+ $sqliteQuery->bindParam(3, $_GET['numTp']);
+ $result = $sqliteQuery->execute();
+ }
+ }
+}// fin else type
+
diff --git a/BddCorrect/Traitement/test2.db b/BddCorrect/Traitement/test2.db
index 35d23d9ccfceeca1edba716e24d5673da00e658a..e05eb502e7bf1566ab28455fc8a8b351072c2ed4 100644
GIT binary patch
literal 61440
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
+ break;
case 'Afficher les questions':
//require ($rep.$vues['vueLogin']);
$this->afficherQuestions();
@@ -41,12 +45,19 @@ class Controleur {
$this->Correction();
break;
+ case 'Demonstrations de cours' :
+ //$this->verificationConnexion();
+
+ $this->afficherDemonstrations();
+ break;
case 'Afficher les demonstrations' :
//$this->verificationConnexion();
$this->afficherDemonstrations();
break;
-
+ case 'Ajouter une demonstration' :
+ require ($rep.$vues['vueAjoutDemo']);
+ break;
case 'Générer Base de données aléatoire':
$this->resetRandomBdd();
break;
@@ -59,14 +70,26 @@ class Controleur {
$this->resetDemonstrations();
break;
+ case 'Reintiliser les QCM' :
+ $this->resetQCM();
+ break;
case 'Réintiliser les questions' :
$this->resetQuestions();
break;
- case 'Afficher les QCM' :
+ case 'QCM' :
$this->afficherQCM();
break;
+ case 'Ajouter QCM' :
+ require ($rep.$vues['vueAjoutQCM']);
+ break;
+ case 'Creation de table' :
+ $this->afficherCreationTable();
+ break;
+ case 'Gestion de tables' :
+ $this->afficherGestionTable();
+ break;
default:
$dVueEreur[] ="Erreur d'appel php";
require ($rep.$vues['erreur']);
@@ -85,6 +108,11 @@ class Controleur {
}
+ function resetQCM(){
+ $db = new SqliteDb();
+ $db->createQCM();
+ $this->afficherQCM();
+ }
function resetQuestions(){
$db = new SqliteDb();
@@ -155,5 +183,17 @@ class Controleur {
function Correction(){
require('Correcteur.php');
}
+
+ function afficherCreationTable(){
+ global $rep,$vues;
+
+ require ($rep.$vues['vueLibre']);
+ }
+
+ function afficherGestionTable(){
+ global $rep,$vues;
+
+ require ($rep.$vues['vueGestion']);
+ }
}
diff --git a/BddCorrect/css/VuePrincipale.css b/BddCorrect/css/VuePrincipale.css
index 60e9f87..ddc5ad1 100644
--- a/BddCorrect/css/VuePrincipale.css
+++ b/BddCorrect/css/VuePrincipale.css
@@ -8,42 +8,7 @@ and open the template in the editor.
Author : Mehdi
*/
-.frm{
-
- position:absolute;
- right: 0;
-}
-.inp-reset{
- background: #0082b5;
- color: #fff;
- border: 1px solid #eee;
- border-radius: 20px;
- box-shadow: 5px 5px 5px #eee;
- text-shadow:none;
- width: 500px;
- margin-bottom: 5px;
- display: block;
- height: 30%;
-
-}
-
-.inp-reset:hover {
- background: #d9534f;
- color: #fff;
- border: 1px solid #eee;footer{
- position: relative;
- left: 0;
- bottom: 0;
- width: 100%;
- background-color: red;
- color: white;
- text-align: center;
-}
- border-radius: 20px;
- box-shadow: 5px 5px 5px #eee;
- text-shadow:none;
-}
footer{
position: relative;
diff --git a/BddCorrect/css/vueGestionTables.css b/BddCorrect/css/vueGestionTables.css
new file mode 100644
index 0000000..5847d9a
--- /dev/null
+++ b/BddCorrect/css/vueGestionTables.css
@@ -0,0 +1,46 @@
+html,body {
+ height:100%;
+ width:100%;
+ margin:0;
+}
+body {
+ display:flex;
+}
+form {
+ margin:auto;/* nice thing of auto margin if display:flex; it center both horizontal and vertical :) */
+}
+
+.inp-reset{
+ background: #0082b5;
+ color: #fff;
+ border: 1px solid #eee;
+ border-radius: 20px;
+ box-shadow: 5px 5px 5px #eee;
+ text-shadow:none;
+ width: 500px;
+ margin-bottom: 5px;
+ display: block;
+ height: 30%;
+
+}
+
+.inp-reset:hover {
+ background: #d9534f;
+ color: #fff;
+ border: 1px solid #eee;
+ border-radius: 20px;
+ box-shadow: 5px 5px 5px #eee;
+ text-shadow:none;
+}
+
+footer{
+ position: relative;
+ left: 0;
+ bottom: 0;
+ width: 100%;
+ background-color: red;
+ color: white;
+ text-align: center;
+ height: 10px;
+}
+
\ No newline at end of file
diff --git a/BddCorrect/demonstrations.txt b/BddCorrect/demonstrations.txt
new file mode 100644
index 0000000..7c04f14
--- /dev/null
+++ b/BddCorrect/demonstrations.txt
@@ -0,0 +1,2 @@
+NBA**1**3**5 premières lignes de la table EQUIPE** SELECT * FROM EQUIPE WHERE rownum<6
+NBA**1**4**5 premières lignes de la table GAME** SELECT * FROM GAME WHERE rownum<6
\ No newline at end of file
diff --git a/BddCorrect/nbproject/private/private.xml b/BddCorrect/nbproject/private/private.xml
index 6e2ea97..2b9ec28 100644
--- a/BddCorrect/nbproject/private/private.xml
+++ b/BddCorrect/nbproject/private/private.xml
@@ -3,10 +3,11 @@
- file:/C:/xampp/htdocs/BddCorrect/css/VueAccueil.css
- file:/C:/xampp/htdocs/BddCorrect/vues/VueAccueil.php
- file:/C:/xampp/htdocs/BddCorrect/css/VuePrincipale.css
+ file:/C:/xampp/htdocs/BddCorrect/vues/VueAdmin.php
+ file:/C:/xampp/htdocs/BddCorrect/Traitement/AjoutQuestion.php
+ file:/C:/xampp/htdocs/BddCorrect/BDD/SqliteDb.php
file:/C:/xampp/htdocs/BddCorrect/vues/VuePrincipale.php
+ file:/C:/xampp/htdocs/BddCorrect/Traitement/Correcteur.php
diff --git a/BddCorrect/questions.txt b/BddCorrect/questions.txt
new file mode 100644
index 0000000..5a7d20f
--- /dev/null
+++ b/BddCorrect/questions.txt
@@ -0,0 +1,2 @@
+requete**NBA**1**1**Lister les joueurs de la table Equipe**SELECT * FROM EQUIPE**10**o
+requete**NBA**1**2**Lister les joueurs de la table JOUEUR**SELECT * FROM JOUEUR**10**o
diff --git a/BddCorrect/vues/VueAccueil.php b/BddCorrect/vues/VueAccueil.php
index 9a5f7a3..e085d6c 100644
--- a/BddCorrect/vues/VueAccueil.php
+++ b/BddCorrect/vues/VueAccueil.php
@@ -28,22 +28,24 @@
-
+
-
+
+ -->
diff --git a/BddCorrect/vues/VueAdmin.php b/BddCorrect/vues/VueAdmin.php
index 0b7aaba..f213a71 100644
--- a/BddCorrect/vues/VueAdmin.php
+++ b/BddCorrect/vues/VueAdmin.php
@@ -63,6 +63,9 @@
+
+
+
-
+
+
+
+
diff --git a/BddCorrect/vues/VueGestionTables.php b/BddCorrect/vues/VueGestionTables.php
new file mode 100644
index 0000000..cd66154
--- /dev/null
+++ b/BddCorrect/vues/VueGestionTables.php
@@ -0,0 +1,28 @@
+
+
+
+