ajout de fonctionnalités pour les demonstrations et les qcm

master
Mehdi 5 years ago
parent e01b6493f7
commit 0ac27fb95c

@ -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 = ? ";

@ -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("<pre>".print_r($tabTp)."</pre");
return $tabChapitre;
}
}

@ -0,0 +1,14 @@
<?php
require_once('../BDD/SqliteDb.php');
require_once('../controleur/Controleur.php');
$db = new SqliteDb('o');
$isAdd = $db->ajouterQCM($_GET['numQuestion'],$_GET['consigne'],$_GET['choix1'],$_GET['choix2'],$_GET['choix3'], $_GET['reponse']);
if(!$isAdd){
echo '<strong>ERREUR : le numéro de question existe déjà dans la bdd</strong>';
}
else echo '<strong>AJOUT QCM avec succès</strong>';

@ -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");
// <editor-fold desc="vérification avec la vraie BDD">
$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");
// </editor-fold>
$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");
}
// <editor-fold desc="Résultat">
if($err == 0 && $verif==1){
echo "<strong>La réponse à la question " .$numDemo. " est JUSTE ! \n</strong>";
echo "<strong>La réponse à la question " .$numQuestion. " est JUSTE ! \n</strong>";
$cmpt++;
}
else echo "<strong>La réponse à la question " .$numDemo. " est FAUSSE ! \n</strong>";
else echo "<strong>La réponse à la question " .$numQuestion. " est FAUSSE ! \n</strong>";
//</editor-fold>
}
//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");
// </editor-fold>
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";
}

@ -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();*/
}

@ -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();

@ -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

Binary file not shown.

@ -13,6 +13,11 @@ $vues['vueDemonstration']='vues/VueDemonstration.php';
$vues['vueQCM']='vues/VueQCM.php';
$vues['vueAccueil']='vues/VueAccueil.php';
$vues['vueAdmin']='vues/VueAdmin.php';
$vues['vueLibre']='vues/VueLibre.php';
$vues['vueAjoutQCM']='vues/vueAjoutQCM.php';
$vues['vueAjoutDemo']='vues/vueAjoutDemo.php';
$vues['vueGestion']='vues/VueGestionTables.php';
$vues['vueBoo']='css/bootstrap.min.css';

@ -28,6 +28,10 @@ class Controleur {
require ($rep.$vues['vueAdmin']);
break;
case 'TP':
//require ($rep.$vues['vueLogin']);
$this->afficherQuestions();
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']);
}
}

@ -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;

@ -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;
}

@ -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

@ -3,10 +3,11 @@
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group>
<file>file:/C:/xampp/htdocs/BddCorrect/css/VueAccueil.css</file>
<file>file:/C:/xampp/htdocs/BddCorrect/vues/VueAccueil.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/css/VuePrincipale.css</file>
<file>file:/C:/xampp/htdocs/BddCorrect/vues/VueAdmin.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/Traitement/AjoutQuestion.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/BDD/SqliteDb.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/vues/VuePrincipale.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/Traitement/Correcteur.php</file>
</group>
</open-files>
</project-private>

@ -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

@ -28,22 +28,24 @@
<form method="get" role="form">
<input class="bouton" type="submit" name="action" value="Afficher les demonstrations" ><br/>
<input class="bouton" type="submit" name="action" value="Afficher les QCM" ><br/>
<input class="bouton" type="submit" name="action" value="Afficher les questions"><br/>
<input class="bouton" type="submit" name="action" value="Demonstrations de cours" ><br/>
<input class="bouton" type="submit" name="action" value="QCM" ><br/>
<input class="bouton" type="submit" name="action" value="TP"><br/>
<input class="bouton" type="submit" name="action" value="Creation de table"><br/>
<input class="bouton" type="submit" name="action" value="Gestion de tables"><br/>
</form>
</div>
<!-- Footer -->
<!-- Footer
<footer class="py-5 bg-dark">
<div class="container">
<p class="m-0 text-center text-white">IUT Clermont-Ferrand 2020</p>
</div>
<!-- /.container -->
</footer>
</footer>-->
<!-- Bootstrap core JavaScript -->
<script src="vendor/jquery/jquery.min.js"></script>

@ -63,6 +63,9 @@
<form method="get">
<input id="inp-questions" class="bouton" type="submit" name="action" value="Afficher les questions" hidden>
</form>
<input type="file" id="fileInput">
</body>
<script>
@ -78,32 +81,54 @@
}
});
});
function SubmitAjoutQuestion() {
function SubmitAjoutQuestion(mot = 0) {
//document.write($('#demo'+numQuestion).val());
$('#erreur').empty();
wait(1500);
var tp = $('#tp').val() ;
var num = $('#num').val() ;
var points = $('#points').val() ;
var consigne = $('#consigne').val() ;
var reponse = $('#reponse').val() ;
var type = $("input[name='type']:checked").val();
var aleatoire= $("input[name='aleatoire']:checked").val();
var bdd = $("input[name='bdd']:checked").val();
var fonction = $('#fonction').val() ;
if(mot == 0){
var tp = $('#tp').val() ;
var num = $('#num').val() ;
var points = $('#points').val() ;
var consigne = $('#consigne').val() ;
var reponse = $('#reponse').val() ;
var type = $("input[name='type']:checked").val();
var aleatoire= $("input[name='aleatoire']:checked").val();
var bdd = $("input[name='bdd']:checked").val();
var fonction = $('#fonction').val() ;
}
else {
var type = mot[0];
var bdd = mot[1];
var tp = mot[2];
var num = mot[3];
var consigne = mot[4];
var reponse = mot[5];
var points = mot[6];
var aleatoire = mot[7];
var fonction = mot[8];
if(fonction != null){
//alert(type+'-'+bdd+'-'+tp+'-'+num+'-'+consigne+'-'+reponse+'-'+points+'-'+aleatoire+'-'+fonction);
//alert()
}
//else alert(type+'-'+bdd+'-'+tp+'-'+num+'-'+consigne+'-'+reponse+'-'+points+'-'+aleatoire);
}
$.get("Traitement/AjoutQuestion.php", { tp: tp,num: num,points: points,consigne: consigne,reponse: reponse,type: type,aleatoire: aleatoire,bdd: bdd, fonction : fonction},
function(data) {
$('#erreur').html(data);
if (data.includes("AJOUT") == true){
//alert("La question a été ajoutée");
var result = confirm("La question a été ajoutée. Afficher les Questions ?");
if(result) $('#inp-questions').trigger("click");
if(mot == 0){
var result = confirm("La question a été ajoutée. Afficher les Questions ?");
if(result) $('#inp-questions').trigger("click");
}
}
//else alert("Erreur");
//$('#demoForm')[0].reset();
});
});
}
function wait(ms){
@ -111,8 +136,40 @@
var end = start;
while(end < start + ms) {
end = new Date().getTime();
}
}
}
}
var fileInput = document.getElementById('fileInput');
var fileDisplayArea = document.getElementById('fileDisplayArea');
var mot = [];
fileInput.addEventListener('change', function(e) {
var file = fileInput.files[0];
var textType = /text.*/;
if (file.type.match(textType)) {
var reader = new FileReader();
reader.onload = function(e) {
var content = reader.result;
//Here the content has been read successfuly
//alert(content);
var lignes = content.split('\n');
for(var line = 0; line < lignes.length; line++){
var mot = lignes[line].split('**');
SubmitAjoutQuestion(mot);
//mots.push(mot);
console.log(mot[0]);console.log(mot[1]);console.log(mot[2]);console.log(mot[3]);
}
$('#inp-questions').trigger("click");
}
reader.readAsText(file);
} else {
fileDisplayArea.innerText = "fichier non supporté"
}
});

@ -3,13 +3,13 @@
<head>
<meta charset="UTF-8">
<title></title>
<script src="../css/jquery-3.5.1.js"></script>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="../css/VueAdmin.css">
<script src="css/jquery-3.5.1.js"></script>
<link rel="stylesheet" href="css/VueAdmin.css">
</head>
<body>
<form style="border:1px solid #ccc" method="GET" action="../Traitement/AjoutQuestion.php">
<form style="border:1px solid #ccc" method="GET" action="Traitement/AjoutQuestion.php">
<div class="container">
@ -34,7 +34,7 @@
<input type="radio" name="bdd" value="NBA" style="margin-bottom:15px" checked> NBA
</label>
<div >
<div>
<input type="button" value="Ajouter" onclick="SubmitAjoutDemo()" />
</div>
</div>
@ -42,24 +42,74 @@
<div id="erreur">
</div>
<form method="get">
<input id="inp-demo" class="bouton" type="submit" name="action" value="Afficher les demonstrations" >
</form>
<input type="file" id="fileInput">
</body>
<script>
function SubmitAjoutDemo() {
var chapitre = $('#chapitre').val() ;
var numDemo = $('#numDemo').val() ;
var description = $('#description').val() ;
var reponse = $('#reponse').val() ;
var bdd = $("input[name='bdd']:checked").val();
$.get("../Traitement/AjoutDemonstration.php", { chapitre: chapitre,numDemo: numDemo,description: description,reponse: reponse,bdd: bdd},
function SubmitAjoutDemo(mot=0) {
if(mot == 0){
var chapitre = $('#chapitre').val() ;
var numDemo = $('#numDemo').val() ;
var description = $('#description').val() ;
var reponse = $('#reponse').val() ;
var bdd = $("input[name='bdd']:checked").val();
}
else {
var bdd =mot[0];
var chapitre = mot[1];
var numDemo = mot[2];
var description = mot[3];
var reponse = mot[4];
}
$.get("Traitement/AjoutDemonstration.php", { chapitre: chapitre,numDemo: numDemo,description: description,reponse: reponse,bdd: bdd},
function(data) {
$('#erreur').html(data);
if(mot == 0){
var result = confirm("La demonstration a été ajoutée. Afficher les Demonstrations ?");
if(result) $('#inp-demo').trigger("click");
}
//$('#demoForm')[0].reset();
});
}
var fileInput = document.getElementById('fileInput');
var fileDisplayArea = document.getElementById('fileDisplayArea');
var mot = [];
fileInput.addEventListener('change', function(e) {
var file = fileInput.files[0];
var textType = /text.*/;
if (file.type.match(textType)) {
var reader = new FileReader();
reader.onload = function(e) {
var content = reader.result;
//Here the content has been read successfuly
alert(content);
var lignes = content.split('\n');
for(var line = 0; line < lignes.length; line++){
var mot = lignes[line].split('**');
SubmitAjoutDemo(mot);
//mots.push(mot);
console.log(mot[0]);console.log(mot[1]);console.log(mot[2]);console.log(mot[3]);
}
$('#inp-demo').trigger("click");
}
reader.readAsText(file);
} else {
fileDisplayArea.innerText = "fichier non supporté"
}
});

@ -9,33 +9,30 @@
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/VueDemonstration.css">
</head>
<?php
$tp_str = implode(",", array_keys($dVueDemonstrations));
//die($tp_str);
?>
<body>
<div id="content">
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top" id="mainNav">
<div class="container">
<a class="navbar-brand js-scroll-trigger" href="#page-top">TP de Base De Données</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link js-scroll-trigger" href="#TP2">TP2</a>
</li>
<li class="nav-item">
<a class="nav-link js-scroll-trigger" href="#TP3">TP3</a>
</li>
<li class="nav-item">
<a class="nav-link js-scroll-trigger" href="#TP4">TP4</a>
</li>
<li class="nav-item">
<a class="nav-link js-scroll-trigger" href="#TP5">TP5</a>
</li>
</ul>
</div>
</div>
</nav>
<div class="container">
<a class="navbar-brand js-scroll-trigger" href="#page-top">TP de Base De Données</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
<?php foreach ($dVueDemonstrations as $tp => $question){ ?>
<li class="nav-item">
<a style = "text-transform:uppercase;" class="nav-link js-scroll-trigger" id="<?php echo $tp; ?>" onclick="changerSection('<?php echo $tp;?>','<?php echo $tp_str ;?>')" ><?php echo $tp; ?></a>
</li>
<?php }?>
</ul>
</div>
</div>
</nav>
<!--<header class="bg-primary text-white">
<div class="container text-center">
<h1>Demonstrations</h1>
@ -43,27 +40,29 @@
</div>
</header>-->
<div style="font-weight: bold" id="Temps-Restant"></div>
<?php foreach ($dVueDemonstrations as $tp => $questions){ ?>
<section id="TP2">
<section id="<?php echo 'c'.$tp; ?>">
<div class="container">
<div class="row">
<div class="col-lg-8 mx-auto">
<h2>TP 2</h2>
<h2 style = "text-transform:uppercase;"><?php echo $tp; ?></h2>
<form id="demoForm" method="get" >
<?php $i=0;
foreach ($dVueDemonstrations as $q) {
foreach ($questions as $q) {
?>
<?php $i++; echo $q->getNumQuestion() .'.'.$q->getQuestion(); $_SESSION['num']=array(); $_SESSION['num'][$i] =$q->getNumQuestion(); ?> <br/>
<textarea rows="5" cols="70" name="demo<?php echo $q->getNumQuestion(); ?>" id="demo<?php echo $q->getNumQuestion(); ?>" >
<textarea rows="5" cols="70" name="demo<?php echo $q->getNumQuestion(); ?>" id="demo<?php echo $q->getNumQuestion().$q->getNumTp(); ?>" >
<?php echo $q->getReponse(); ?>
</textarea>
<input class="monterDemonstration" type="button" value="Monter" onclick="MonterDemonstration(<?php echo $q->getNumQuestion(); ?>,<?php echo $q->getNumTp(); ?>)" ></p>
<input class="supprimerDemonstration" type="button" value="Supprimer" onclick="SupprimerDemonstration(<?php echo $q->getNumQuestion(); ?>,<?php echo $q->getNumTp(); ?>);" >
<input class="descendreDemonstration" type="button" value="Descendre" onclick="DescendreDemonstration(<?php echo sizeof($questions); ?>,<?php echo $q->getNumQuestion(); ?>,<?php echo $q->getNumTp(); ?>)" ></p>
<p><input class="submitDemoData" type="button" value="Exécuter" onclick="SubmitDemoData(<?php echo $q->getNumQuestion(); ?>);" ></p>
<p><input class="submitDemoData" type="button" value="Exécuter" onclick="SubmitDemoData(<?php echo $q->getNumQuestion(); ?>,<?php echo $q->getNumTp(); ?>);" ></p>
<div id="results<?php echo $q->getNumQuestion(); ?>">
<div id="results<?php echo $q->getNumQuestion().$q->getNumTp(); ?>">
<!-- les résultats s'affichent içi -->
</div><br/>
<?php $i++; } //fin foreach ?>
@ -72,16 +71,18 @@
</div>
</div>
</div>
</section>
<form method="get" id="frm-reset">
</section> <?php } ?>
<!-- <form method="get" id="frm-reset">
<input type="submit" name="action" id="regenererDemo" value="Reintiliser les demonstrations" /><br/>
</form>
</form>-->
<a href="vues/VueAjoutDemo.php"><button>Ajouter Une Démonstration</button></a>
<a href="vues/VueLibre.php"><button>Creation table</button></a>
<form method="get" >
<input id="btn-ajout" type="submit" name="action" value="Ajouter une demonstration" />
</form>
<form method="get" role="form">
<input type="submit" name="action" id="afficher-demo" value="Afficher les demonstrations" style='display:none'>
<input id="inp-ret" type="submit" name="action" value="Retour au menu principal" >
</form>
<div id="erreur">
@ -89,12 +90,12 @@
<script>
function SubmitDemoData(numQuestion) {
function SubmitDemoData(numQuestion,numChapitre) {
//document.write($('#demo'+numQuestion).val());
var txt = $('#demo'+numQuestion).val() ;
var txt = $('#demo'+numQuestion+numChapitre).val() ;
$.get("Traitement/AffichageDemo.php", { textbox: txt},
function(data) {
$('#results'+numQuestion).html(data);
$('#results'+numQuestion+numChapitre).html(data);
//$('#demoForm')[0].reset();
});
}
@ -111,6 +112,56 @@
});
}
}
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) {
//$('#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,type : type},
function(data) {
//$('#results'+numDemo+numChapitre).html(data);
//$('#questionsForm')[0].reset();
$("#afficher-demo").trigger("click");
});
}
function changerSection(tp,keys){
tpk = keys.split(",");
tpk.forEach(function(entry) {
$("#c"+entry).hide();
console.log(entry);
});
$("#c"+tp).show();
}
function ModifierQuestion(numQuestion, numTp) {
$.get("Traitement/Modification.php", { numQuestion : numQuestion, numTp : numTp },
function(data) {
$('#vuep').empty();
$('#vuep').html(data);
//$('#questionsForm')[0].reset();
//location.reload();
});
}
</script>
</div>
<!-- Footer -->

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"><style><?php global $rep,$vues,$css; include $rep.$css['bootstrap']; ?></style>
<title></title>
<script src="css/jquery-3.5.1.js"></script>
<link rel="stylesheet" href="css/vueGestionTables.css">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top" id="mainNav">
<div class="container">
<a class="navbar-brand js-scroll-trigger" href="#page-top">Base De Données</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</nav>
<form method="get" class="frm">
<input class="inp-reset" type="submit" name="action" value="Générer Base de données aléatoire" />
<input class="inp-reset" type="submit" name="action" value="Réintiliser les questions" />
<input class="inp-reset" type="submit" name="action" value="Reintiliser les QCM" />
<input class="inp-reset" type="submit" name="action" id="regenererDemo" value="Reintiliser les demonstrations" /><br/>
</form>
</body>
</html>

@ -35,10 +35,7 @@
</div>
</nav>
<header class="bg-primary text-white">
<div class="container text-center">
<h1>test</h1>
<p class="lead">TEST</p>
</div>
</header>
<div id='allp'>
<div style="font-weight: bold" id="Temps-Restant"></div>
@ -62,7 +59,8 @@
<p><input class="submitQuestionData" type="button" value="Valider" onclick="SubmitQuestionData(<?php echo $q->getNumQuestion(); ?>,<?php echo $q->getNumTp(); ?>);" >
<input class="supprimerQuestion" type="button" value="Supprimer" onclick="SupprimerQuestion(<?php echo $q->getNumQuestion(); ?>,<?php echo $q->getNumTp(); ?>);" >
<input class="modifierQuestion" type="button" value="Modifier" onclick="ModifierQuestion(<?php echo $q->getNumQuestion(); ?>,<?php echo $q->getNumTp(); ?>)" >
<input class="monterQuestion" type="button" value="Monter" onclick="MonterQuestion(<?php echo $q->getNumQuestion(); ?>,<?php echo $q->getNumTp(); ?>)" ></p>
<input class="monterQuestion" type="button" value="Monter" onclick="MonterQuestion(<?php echo $q->getNumQuestion(); ?>,<?php echo $q->getNumTp(); ?>)" >
<input class="descendreQuestion" type="button" value="Descendre" onclick="DescendreQuestion(<?php echo sizeof($questions); ?>,<?php echo $q->getNumQuestion(); ?>,<?php echo $q->getNumTp(); ?>)" ></p>
</p>
<div id="resultatsQuestions<?php echo $q->getNumQuestion().$q->getNumTp(); ?>">
<!-- les résultats s'affichent içi -->
@ -73,12 +71,7 @@
</div>
</div>
</section><?php } ?>
<form method="get" class="frm">
<input class="inp-reset" type="submit" name="action" value="Générer Base de données aléatoire" />
<input class="inp-reset" type="submit" name="action" value="Réintiliser les questions" />
</form>
<form method="get" >
<input id="btn-ajout" type="submit" name="action" value="Ajouter une question" />
@ -171,6 +164,7 @@
}
function MonterQuestion(numQuestion, numTp) {
if(numQuestion > 1){
$.get("Traitement/Ordre.php", { numQuestion : numQuestion, numTp : numTp },
function(data) {
@ -182,6 +176,21 @@
}
}
function DescendreQuestion(nbQuestions,numQuestion, numTp) {
//alert(nbQuestions);
var des = 1;
if(numQuestion < nbQuestions){
$.get("Traitement/Ordre.php", { des : des , numQuestion : numQuestion, numTp : numTp },
function(data) {
//$('#questionsForm')[0].reset();
$('#inp-questions').trigger("click");
//window.location.replace("index.php");
});
}
}
window.addEventListener('scroll',function() {
localStorage.setItem('scrollPosition',window.scrollY);
},false);

@ -16,29 +16,11 @@
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link js-scroll-trigger" href="#TP2">TP2</a>
</li>
<li class="nav-item">
<a class="nav-link js-scroll-trigger" href="#TP3">TP3</a>
</li>
<li class="nav-item">
<a class="nav-link js-scroll-trigger" href="#TP4">TP4</a>
</li>
<li class="nav-item">
<a class="nav-link js-scroll-trigger" href="#TP5">TP5</a>
</li>
</ul>
</div>
</div>
</nav>
<header class="bg-primary text-white">
<div class="container text-center">
<h1>test</h1>
<p class="lead">TEST</p>
</div>
d
</header>
<div style="font-weight: bold" id="Temps-Restant"></div>
@ -47,8 +29,7 @@
<div class="container">
<div class="row">
<div class="col-lg-8 mx-auto">
<h2>TP 2</h2>
<h2>TP 2</h2>
<form id="QCMForm" method="get" >
<?php $i=0; //shuffle($dVueQuestions);
foreach ($tabQCM as $qcm) {
@ -67,22 +48,19 @@
<div id="results<?php echo $qcm->getNumQuestion(); ?>">
<!-- les résultats s'affichent içi -->
</div><br/>
<?php } //fin foreach ?>
</form>
<?php } //fin foreach ?>
</form>
</div>
</div>
</div>
</section>
<a href="vues/VueAdmin.php"><button>Ajouter Une Question</button></a>
<a href="vues/VueLibre.php"><button>Creation table</button></a>
<form method="get" >
<input id="btn-ajout" type="submit" name="action" value="Ajouter QCM" />
</form>
<form method="get" role="form">
<input type="submit" name="action" value="Afficher les demonstrations" ><br/>
<input type="submit" name="action" value="Afficher les questions" ><br/>
<input id="inp-questions" class="bouton" type="submit" name="action" value="QCM" hidden>
<input id="inp-ret" type="submit" name="action" value="Retour au menu principal" >
</form>
<script>
@ -98,24 +76,6 @@
});
}
</script>
<!-- Footer -->
<footer class="py-5 bg-dark">
<div class="container">
<p class="m-0 text-center text-white">IUT Clermont-Ferrand 2020</p>
</div>
<!-- /.container -->
</footer>
<!-- Bootstrap core JavaScript -->
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- Plugin JavaScript -->
<script src="vendor/jquery-easing/jquery.easing.min.js"></script>
<!-- Custom JavaScript for this theme -->
<script src="js/scrolling-nav.js"></script>
</body>
</html>

@ -0,0 +1,83 @@
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="css/jquery-3.5.1.js"></script>
<link rel="stylesheet" href="css/VueAdmin.css">
</head>
<body>
<form style="border:1px solid #ccc" method="GET" action="Traitement/AjoutQuestion.php">
<div class="container">
<h1>Ajouter une question(QCM)</h1>
<hr>
<label><b>Numéro de question : </b></label>
<input type="text" placeholder="Saisir le numéro de la démonstration..." id="numQuestion" required>
<label><b>Consigne : </b></label>
<input type="text" placeholder="Ecrire l'intitulé de la démonstration..." id="consigne" required>
<label><b>Réponse 1 : </b></label>
<input type="text" id="choix1" required>
<label><b>Réponse 2 : </b></label>
<input type="text" id="choix2" required>
<label><b>Réponse 3 : </b></label>
<input type="text" id="choix3" required>
<label><b>Bonne Réponse ? </b><br/>
<input type="radio" name="reponse" value="1" style="margin-bottom:15px" checked> 1
<input type="radio" name="reponse" value="2" style="margin-bottom:15px"> 2
<input type="radio" name="reponse" value="3" style="margin-bottom:15px"> 3
</label><br/>
<div >
<input type="button" value="Ajouter" onclick="SubmitAjoutQCM()" />
</div>
</div>
</form>
<div id="erreur">
</div>
<form method="get">
<input id="inp-qcm" class="bouton" type="submit" name="action" value="QCM" >
</form>
</body>
<script>
function SubmitAjoutQCM() {
//var chapitre = $('#chapitre').val() ;
var numQuestion = $('#numQuestion').val() ;
var consigne = $('#consigne').val() ;
var choix1= $('#choix1').val() ;
var choix2= $('#choix2').val() ;
var choix3= $('#choix3').val() ;
//var reponse = $('#reponse').val() ;
var reponse = $("input[name='reponse']:checked").val();
$.get("Traitement/AjoutQCM.php", {numQuestion: numQuestion,consigne: consigne,choix1: choix1,choix2: choix2,choix3: choix3,reponse: reponse},
function(data) {
$('#erreur').html(data);
if (data.includes("AJOUT") == true){
var result = confirm("La question a été ajoutée. Afficher les QCM ?");
if(result) $('#inp-qcm').trigger("click");
}
//$('#demoForm')[0].reset();
});
}
</script>
</html>
Loading…
Cancel
Save