correction de bugs + ajout de fonctionnalités(ajout de démonstrations, vérification lors de l'ajout)

master
Mehdi 5 years ago
parent c02fb4bed1
commit 90d006f958

@ -1,10 +1,6 @@
<?php <?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/** /**
* Description of OracleDb * Description of OracleDb
@ -16,8 +12,8 @@ class OracleDb {
private $conn; private $conn;
function __construct() { function __construct() {
$this->conn = oci_connect('u_prems', '123456', 'localhost/orcl'); //$this->conn = oci_connect('u_prems', '123456', 'localhost/orcl');
//$this->conn = oci_connect('meelaichao', 'meelaichao', 'kirov:1521/kirov'); $this->conn = oci_connect('meelaichao', 'meelaichao', 'kirov:1521/kirov');
//$this->createRandomTables(); //$this->createRandomTables();
} }

@ -10,8 +10,8 @@ class SqliteDb extends SQLite3
$odb = new OracleDb(); $odb = new OracleDb();
$this->conn = $odb->getConn(); $this->conn = $odb->getConn();
if($o == 'n') if($o == 'n')
$this->open('Traitement/test.db'); $this->open('Traitement/test2.db');
else $this->open('test.db'); else $this->open('test2.db');
/*$this->createLogin(); /*$this->createLogin();
$this->createTable(); $this->createTable();
$this->createDemonstration(); $this->createDemonstration();
@ -25,10 +25,10 @@ class SqliteDb extends SQLite3
$this->exec('CREATE TABLE Correct ( bddConcernee STRING,numTp NUMBER, numquestion NUMBER,question STRING, reponse STRING,points NUMBER,aleatoire CHAR)'); $this->exec('CREATE TABLE Correct ( bddConcernee STRING,numTp NUMBER, numquestion NUMBER,question STRING, reponse STRING,points NUMBER,aleatoire CHAR)');
$this->exec('DROP TABLE FunctionCorrect'); $this->exec('DROP TABLE FunctionCorrect');
$this->exec('CREATE TABLE FunctionCorrect (bddConcernee STRING,numTp NUMBER, numquestion NUMBER, question STRING, reponse STRING, type STRING, fonctionCorrect STRING,testUser STRING)'); $this->exec('CREATE TABLE FunctionCorrect (bddConcernee STRING,numTp NUMBER, numquestion NUMBER, question STRING, reponse STRING, fonctionCorrect STRING,testUser STRING, points NUMBER)');
$this->exec('DROP TABLE TriggerCorrect'); $this->exec('DROP TABLE TriggerCorrect');
$this->exec('CREATE TABLE TriggerCorrect ( bddConcernee STRING,numTp NUMBER, numquestion NUMBER,question STRING, reponse STRING, type STRING, fonctionCorrect STRING,testUser STRING)'); $this->exec('CREATE TABLE TriggerCorrect ( bddConcernee STRING,numTp NUMBER, numquestion NUMBER,question STRING, reponse STRING,fonctionCorrect STRING,testUser STRING)');
$this->exec('DROP TABLE Type'); $this->exec('DROP TABLE Type');
$this->exec('CREATE TABLE Type ( numTp NUMBER,numQuestion NUMBER,type STRING)'); $this->exec('CREATE TABLE Type ( numTp NUMBER,numQuestion NUMBER,type STRING)');
@ -87,12 +87,13 @@ class SqliteDb extends SQLite3
$fonctionCorrect = 'CREATE OR REPLACE FUNCTION fpointsmarques(date_match IN VARCHAR2, joueur IN VARCHAR2 ) RETURN NUMBER IS nbPoints NUMBER ; BEGIN SELECT points INTO nbPoints FROM STATS WHERE datematch = date_match AND prenomnoms=joueur; RETURN nbPoints; END;' ; $fonctionCorrect = 'CREATE OR REPLACE FUNCTION fpointsmarques(date_match IN VARCHAR2, joueur IN VARCHAR2 ) RETURN NUMBER IS nbPoints NUMBER ; BEGIN SELECT points INTO nbPoints FROM STATS WHERE datematch = date_match AND prenomnoms=joueur; RETURN nbPoints; END;' ;
$reponse = 'SELECT fpointsmarques(\''.$dateRandom.'\', \''.$joueurRandom.'\') FROM DUAL'; $reponse = 'SELECT fpointsmarques(\''.$dateRandom.'\', \''.$joueurRandom.'\') FROM DUAL';
$testU = 'SELECT pointsmarques(\''.$dateRandom.'\', \''.$joueurRandom.'\') FROM DUAL' ; $testU = 'SELECT pointsmarques(\''.$dateRandom.'\', \''.$joueurRandom.'\') FROM DUAL' ;
$points =1;
$q = "INSERT INTO FunctionCorrect VALUES ('NBA',2,5,'Ecrire une fonction pointsmarques qui détermine pour une date de match et un joueur donnés quelle est le nombre de points marqués par ce joueur', ?,?,?,? )"; $q = "INSERT INTO FunctionCorrect VALUES ('NBA',2,5,'Ecrire une fonction pointsmarques qui détermine pour une date de match et un joueur donnés quelle est le nombre de points marqués par ce joueur', ?,?,?,? )";
$stmt = $this->prepare($q); $stmt = $this->prepare($q);
$stmt->bindParam(1,$reponse); $stmt->bindParam(1,$reponse);
$stmt->bindParam(2,$type); $stmt->bindParam(2,$fonctionCorrect);
$stmt->bindParam(3,$fonctionCorrect); $stmt->bindParam(3,$testU);
$stmt->bindParam(4,$testU); $stmt->bindParam(4,$points);
$stmt->execute(); $stmt->execute();
/* //Question 9 /* //Question 9
@ -201,24 +202,63 @@ class SqliteDb extends SQLite3
$dateRandom = $listeJoueurArray['DATEMATCH'][$rand_keys]; $dateRandom = $listeJoueurArray['DATEMATCH'][$rand_keys];
} }
function ajouterRequete($contexte,$tp,$num,$consigne,$requete){ function ajouterRequete($contexte,$tp,$numQuestion,$consigne,$requete,$points){
if($this->verificationExistenceQuestion($tp, $numQuestion)) return false;
$qt = "INSERT INTO Type VALUES(?,?,'query')"; $qt = "INSERT INTO Type VALUES(?,?,'query')";
$prp=$this->prepare($qt); $prp=$this->prepare($qt);
$prp->bindParam(1, $num); $prp->bindParam(1, $tp);
$prp->bindParam(2, $tp); $prp->bindParam(2, $numQuestion);
$prp->execute(); $prp->execute();
$q = "INSERT INTO Correct VALUES (?,?,?,?,? ,1,'o')";
$q = "INSERT INTO Correct VALUES (?,?,?,?,? ,?,?)";
$stmt = $this->prepare($q); $stmt = $this->prepare($q);
$stmt->bindParam(1,$contexte); $stmt->bindParam(1,$contexte);
$stmt->bindParam(2,$tp); $stmt->bindParam(2,$tp);
$stmt->bindParam(3,$num); $stmt->bindParam(3,$numQuestion);
$stmt->bindParam(4,$consigne); $stmt->bindParam(4,$consigne);
$stmt->bindParam(5,$requete); $stmt->bindParam(5,$requete);
$stmt->bindParam(6,$points);
$stmt->bindParam(7,$contexte);
$stmt->execute(); $stmt->execute();
return true;
}
function ajouterFonction($contexte,$tp,$numQuestion,$consigne,$requete,$fonction,$requeteUser,$points){
if($this->verificationExistenceQuestion($tp, $numQuestion)) return false;
$qt = "INSERT INTO Type VALUES(?,?,'functionCorrect')";
$prp=$this->prepare($qt);
$prp->bindParam(1, $tp);
$prp->bindParam(2, $numQuestion);
$prp->execute();
$q = "INSERT INTO FunctionCorrect VALUES (?,?,?,?,?,?,? ,?)";
$stmt = $this->prepare($q);
$stmt->bindParam(1,$contexte);
$stmt->bindParam(2,$tp);
$stmt->bindParam(3,$numQuestion);
$stmt->bindParam(4,$consigne);
$stmt->bindParam(5,$requete);
$stmt->bindParam(6,$fonction);
$stmt->bindParam(7,$requeteUser);
$stmt->bindParam(8,$points);
$stmt->execute();
return true;
}
function verificationExistenceQuestion($tp,$numQuestion){
$q = "SELECT count(*) FROM Type WHERE numTp = ? AND numQuestion = ? ";
$prp=$this->prepare($q);
$prp->bindParam(1, $tp);
$prp->bindParam(2, $numQuestion);
$result = $prp->execute();
$row = $result->fetchArray();
if($row['count(*)'] == 0) return false;
return true;
} }
function ajouterDemonstration($contexte,$chapitre,$num,$intitule,$requete){ function ajouterDemonstration($contexte,$chapitre,$num,$intitule,$requete){
if($this->verificationExistenceDemo($chapitre, $num)) return false;
$q = "INSERT INTO Demonstration VALUES (?,?,?,?,?)"; $q = "INSERT INTO Demonstration VALUES (?,?,?,?,?)";
$stmt = $this->prepare($q); $stmt = $this->prepare($q);
$stmt->bindParam(1,$contexte); $stmt->bindParam(1,$contexte);
@ -226,8 +266,21 @@ class SqliteDb extends SQLite3
$stmt->bindParam(3,$num); $stmt->bindParam(3,$num);
$stmt->bindParam(4,$intitule); $stmt->bindParam(4,$intitule);
$stmt->bindParam(5,$requete); $stmt->bindParam(5,$requete);
$stmt->execute(); $stmt->execute();
return true;
}
function verificationExistenceDemo($chapitre,$numDemo){
$q = "SELECT count(*) FROM Demonstration WHERE chapitre = ? AND numDemo = ? ";
$prp=$this->prepare($q);
$prp->bindParam(1, $chapitre);
$prp->bindParam(2, $numDemo);
$result = $prp->execute();
$row = $result->fetchArray();
if($row['count(*)'] == 0) return false;
return true;
} }
function supprimerRequete($numQuestion,$numTp){ function supprimerRequete($numQuestion,$numTp){
@ -244,5 +297,18 @@ class SqliteDb extends SQLite3
$prp->execute(); $prp->execute();
} }
function supprimerFonction($numQuestion,$numTp){
$qt = "DELETE FROM Type WHERE numTp=? AND numQuestion=? ";
$prp=$this->prepare($qt);
$prp->bindParam(1, $numTp);
$prp->bindParam(2, $numQuestion);
$prp->execute();
$qt = "DELETE FROM FunctionCorrect WHERE numTp=? AND numQuestion=? ";
$prp=$this->prepare($qt);
$prp->bindParam(1, $numTp);
$prp->bindParam(2, $numQuestion);
$prp->execute();
}
} }

@ -23,7 +23,7 @@ class QuestionsGateway {
public function afficherDemonstrations() { public function afficherDemonstrations() {
$i = 0; $i = 0;
$query = 'SELECT * FROM Demonstration'; $query = 'SELECT * FROM Demonstration ORDER BY numDemo ASC';
$query = $this->db->prepare($query); $query = $this->db->prepare($query);
$result = $query->execute(); $result = $query->execute();
//$resultats = $this->db->query('SELECT found_rows()'); //$resultats = $this->db->query('SELECT found_rows()');

@ -3,7 +3,7 @@ session_start();
require_once('../BDD/SqliteDb.php'); require_once('../BDD/SqliteDb.php');
require_once('../BDD/OracleDb.php'); require_once('../BDD/OracleDb.php');
header('Content-type: text/plain'); header('Content-type: text/plain');
$db = new SqliteDb(); $db = new SqliteDb('o');
$n = new OracleDb(); $n = new OracleDb();
//$conn = oci_connect('u_prems', '123456','localhost/orcl'); //$conn = oci_connect('u_prems', '123456','localhost/orcl');

@ -1,14 +1,41 @@
<?php <?php
require_once('../BDD/SqliteDb.php'); require_once('../BDD/SqliteDb.php');
require_once('controleur/Controleur.php'); require_once('../controleur/Controleur.php');
$db = new SqliteDb(); $db = new SqliteDb('o');
$db->ajouterDemonstration($_GET['bdd'],$_GET['tp'],$_GET['num'],$_GET['consigne'], $_GET['reponse']); if (empty($_GET['chapitre']) || empty($_GET['bdd']) || empty($_GET['numDemo']) || empty($_GET['description']) || empty($_GET['reponse']) ) {
echo '<strong>ERREUR : Veuillez remplir tous les champs </strong>';
}
else if(!is_numeric($_GET['chapitre']))
echo '<strong>ERREUR : une valeur non numérique à été détectée dans le champ \'Chapitre n° :\' </strong>';
else if(!is_numeric($_GET['numDemo']))
echo '<strong>ERREUR : une valeur non numérique à été détectée dans le champ \'Numéro de démonstration :\' </strong>';
else {
if(isset($_GET['modif'])){
if ($_GET["type"] == 'fonction')
$db->supprimerFonction ($_GET['num'], $_GET['tp']);
else if ($_GET["type"] == 'requete')
$db->supprimerRequete($_GET['num'], $_GET['tp']);
}
$isAdd = $db->ajouterDemonstration($_GET['bdd'],$_GET['chapitre'],$_GET['numDemo'],$_GET['description'], $_GET['reponse']);
if(!$isAdd){
echo '<strong>ERREUR : la combinaison (numéro de chapitre, numéro de démonstration) existe déjà dans la bdd</strong>';
}
else echo '<strong>AJOUT Démonstration avec succès</strong>';
}
//require_once('index.php'); //require_once('index.php');
header("Location: index.php"); //header("Location: ../index.php");

@ -1,19 +1,71 @@
<?php <?php
require_once('../BDD/SqliteDb.php'); require_once('../BDD/SqliteDb.php');
require_once('controleur/Controleur.php'); require_once('../controleur/Controleur.php');
$db = new SqliteDb(); $db = new SqliteDb('o');
if(isset($_GET['modif'])){
$db->supprimerRequete($_GET['num'], $_GET['tp']); 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'])) {
echo '<strong>ERREUR : Veuillez remplir tous les champs </strong>';
} }
if ($_GET["type"] == 'requete'){ else if(!is_numeric($_GET['tp']))
echo '<strong>ERREUR : une valeur non numérique à été détectée dans le champ \'Numéro de question :\' </strong>';
else if(!is_numeric($_GET['num']))
echo '<strong>ERREUR : une valeur non numérique à été détectée dans le champ \'TP n° :\' </strong>';
else {
if(isset($_GET['modif'])){
if ($_GET["type"] == 'fonction')
$db->supprimerFonction ($_GET['num'], $_GET['tp']);
else if ($_GET["type"] == 'requete')
$db->supprimerRequete($_GET['num'], $_GET['tp']);
}
if ($_GET["type"] == 'requete'){
$isAdd = $db->ajouterRequete($_GET['bdd'],$_GET['tp'],$_GET['num'],$_GET['consigne'], $_GET['reponse'],$_GET['points']);
if(!$isAdd){
echo '<strong>ERREUR : la combinaison (numéro de tp, numéro de question) existe déjà dans la bdd</strong>';
}
else echo '<strong>AJOUT Requete avec succès</strong>';
}
else if ($_GET["type"] == 'fonction'){
if(empty($_GET['fonction']))
echo 'ERREUR : Veuillez remplir tous les champs ';
else {
if(isset($_GET['modif'])){
$reponse = $_GET['reponse'];
$re = '/^\s*SELECT\s*([a-z0-9]*)/i';
preg_match($re, $reponse, $matches, PREG_OFFSET_CAPTURE);
$string = 'f'.$matches[1][0];
$freponse = str_replace($matches[1][0],$string, $reponse);
$fonction = $_GET['fonction'];
$re = '/^\s*CREATE OR REPLACE FUNCTION\s*([a-z0-9]*)/i';
preg_match($re, $fonction, $matches2, PREG_OFFSET_CAPTURE);
$string2 = 'f'.$matches2[1][0];
$ffonction = str_replace($matches2[1][0],$string2, $fonction);
}
else {
$freponse = $reponse;
$ffonction = $fonction;
}
$isAdd = $db->ajouterFonction($_GET['bdd'],$_GET['tp'],$_GET['num'],$_GET['consigne'], $freponse,$ffonction,$reponse,$_GET['points']);
if(!$isAdd){
echo '<strong>ERREUR : la combinaison (numéro de tp, numéro de question) existe déjà dans la bdd</strong>';
}
else echo '<strong>AJOUT Fonction avec succès</strong>';
}
}
$db->ajouterRequete($_GET['bdd'],$_GET['tp'],$_GET['num'],$_GET['consigne'], $_GET['reponse']);
} }
//require_once('index.php'); //require_once('index.php');
header("Location: index.php"); //header("Location: ../index.php");

@ -15,7 +15,7 @@ $conn = $n->getConn();
$_SESSION['fi'] = array(); $_SESSION['fi'] = array();
$cmpt = 0; $cmpt = 0;
$numQuestion = 0; $numDemo = 0;
header("Cache-Control: no cache"); header("Cache-Control: no cache");
@ -23,15 +23,15 @@ header("Cache-Control: no cache");
/*$numQuestion++; /*$numQuestion++;
$ic = "$numQuestion";*/ $ic = "$numQuestion";*/
$numQuestion = $_GET['numQuestion']; $numDemo = $_GET['numQuestion'];
$numTp = $_GET['numTp']; $numChapitre = $_GET['numTp'];
$_SESSION['fi'][$numQuestion] = $textbox; $_SESSION['fi'][$numDemo] = $textbox;
$UserQuery = oci_parse($conn, $textbox); $UserQuery = oci_parse($conn, $textbox);
$reponseUser = oci_execute($UserQuery); $reponseUser = oci_execute($UserQuery);
$typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?'); $typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?');
$typeQuery->bindParam(1, $numQuestion); $typeQuery->bindParam(1, $numDemo);
$typeQuery->bindParam(2, $numTp); $typeQuery->bindParam(2, $numChapitre);
$resultType = $typeQuery->execute(); $resultType = $typeQuery->execute();
$typeRow = $resultType->fetchArray(); $typeRow = $resultType->fetchArray();
$err = 0; $err = 0;
@ -43,8 +43,8 @@ header("Cache-Control: no cache");
// <editor-fold desc="vérification avec la vraie BDD"> // <editor-fold desc="vérification avec la vraie BDD">
$sqliteQuery = $db->prepare('SELECT reponse FROM Correct WHERE numquestion= ? AND numTp= ? '); $sqliteQuery = $db->prepare('SELECT reponse FROM Correct WHERE numquestion= ? AND numTp= ? ');
$sqliteQuery->bindParam(1, $numQuestion); $sqliteQuery->bindParam(1, $numDemo);
$sqliteQuery->bindParam(2, $numTp); $sqliteQuery->bindParam(2, $numChapitre);
$result = $sqliteQuery->execute(); $result = $sqliteQuery->execute();
$sqliteRow = $result->fetchArray(); $sqliteRow = $result->fetchArray();
@ -77,8 +77,8 @@ header("Cache-Control: no cache");
// </editor-fold> // </editor-fold>
$aleatoireQuery = $db->prepare('SELECT aleatoire FROM Correct WHERE numQuestion = ? AND numTp= ?'); $aleatoireQuery = $db->prepare('SELECT aleatoire FROM Correct WHERE numQuestion = ? AND numTp= ?');
$aleatoireQuery->bindParam(1, $numQuestion); $aleatoireQuery->bindParam(1, $numDemo);
$aleatoireQuery->bindParam(2, $numTp); $aleatoireQuery->bindParam(2, $numChapitre);
$resultAleatoire = $aleatoireQuery->execute(); $resultAleatoire = $aleatoireQuery->execute();
$aleatoireRow = $resultAleatoire->fetchArray(); $aleatoireRow = $resultAleatoire->fetchArray();
if($aleatoireRow['aleatoire'] == 'o'){ if($aleatoireRow['aleatoire'] == 'o'){
@ -135,26 +135,26 @@ header("Cache-Control: no cache");
} }
// <editor-fold desc="Résultat"> // <editor-fold desc="Résultat">
if($err == 0 && $verif==1){ if($err == 0 && $verif==1){
echo "<strong>La réponse à la question " .$numQuestion. " est JUSTE ! \n</strong>"; echo "<strong>La réponse à la question " .$numDemo. " est JUSTE ! \n</strong>";
$cmpt++; $cmpt++;
} }
else echo "<strong>La réponse à la question " .$numQuestion. " est FAUSSE ! \n</strong>"; else echo "<strong>La réponse à la question " .$numDemo. " est FAUSSE ! \n</strong>";
//</editor-fold> //</editor-fold>
} }
//si la question attend une modification //si la question attend une modification
else if($typeRow['type'] == 'tablemodification'){ else if($typeRow['type'] == 'tablemodification'){
$sqliteQuery = $db->prepare('SELECT reponse FROM Correct WHERE numquestion= ? AND numTp= ? '); $sqliteQuery = $db->prepare('SELECT reponse FROM Correct WHERE numquestion= ? AND numTp= ? ');
$sqliteQuery->bindParam(1, $numQuestion); $sqliteQuery->bindParam(1, $numDemo);
$sqliteQuery->bindParam(2, $numTp); $sqliteQuery->bindParam(2, $numChapitre);
$result = $sqliteQuery->execute(); $result = $sqliteQuery->execute();
$sqliteRow = $result->fetchArray(); $sqliteRow = $result->fetchArray();
$vraiReponse = oci_parse($conn, $sqliteRow['reponse']); $vraiReponse = oci_parse($conn, $sqliteRow['reponse']);
$enAttente = oci_execute($vraiReponse); $enAttente = oci_execute($vraiReponse);
$sqliteQuery = $db->prepare('SELECT fonctioncorrect FROM Correct WHERE numquestion= ? AND numTp= ?'); $sqliteQuery = $db->prepare('SELECT fonctioncorrect FROM Correct WHERE numquestion= ? AND numTp= ?');
$sqliteQuery->bindParam(1, $numQuestion); $sqliteQuery->bindParam(1, $numDemo);
$sqliteQuery->bindParam(2, $numTp); $sqliteQuery->bindParam(2, $numChapitre);
$result = $sqliteQuery->execute(); $result = $sqliteQuery->execute();
$sqliteRow = $result->fetchArray(); $sqliteRow = $result->fetchArray();
@ -172,18 +172,18 @@ header("Cache-Control: no cache");
} }
if($err == 0 ){ if($err == 0 ){
echo "La réponse à la question " .$numQuestion. " est JUSTE ! \n"; echo "La réponse à la question " .$numDemo. " est JUSTE ! \n";
$cmpt++; $cmpt++;
} }
else echo "La réponse à la question " .$numQuestion. " est FAUSSE ! \n"; else echo "La réponse à la question " .$numDemo. " est FAUSSE ! \n";
} }
//si la question attend un CREATE FUNCTION //si la question attend un CREATE FUNCTION
else{ else{
$fonctionQuery = $db->prepare('SELECT * FROM FunctionCorrect WHERE numquestion= ? AND numTp= ? '); $fonctionQuery = $db->prepare('SELECT * FROM FunctionCorrect WHERE numquestion= ? AND numTp= ? ');
$fonctionQuery->bindParam(1, $numQuestion); $fonctionQuery->bindParam(1, $numDemo);
$fonctionQuery->bindParam(2, $numTp); $fonctionQuery->bindParam(2, $numChapitre);
$result = $fonctionQuery->execute(); $result = $fonctionQuery->execute();
$fonctionRow = $result->fetchArray(); $fonctionRow = $result->fetchArray();
@ -240,8 +240,8 @@ header("Cache-Control: no cache");
$txt = str_replace('JOUEUR', 'randomjoueur', $txt); $txt = str_replace('JOUEUR', 'randomjoueur', $txt);
} }
$UserQueryRandom = oci_parse($conn, $txt); $UserFonctionRandom = oci_parse($conn, $txt);
$reponseUserRandom = oci_execute($UserQueryRandom); $reponseUserRandom = oci_execute($UserFonctionRandom);
//echo 'bbbb'.$txt; //echo 'bbbb'.$txt;
$creationFonctionRandom = oci_parse($conn, $nv); $creationFonctionRandom = oci_parse($conn, $nv);
$creatFRandom = oci_execute($creationFonctionRandom); $creatFRandom = oci_execute($creationFonctionRandom);
@ -278,10 +278,10 @@ header("Cache-Control: no cache");
// </editor-fold> // </editor-fold>
if($err == 0 && $verif==1 ){ if($err == 0 && $verif==1 ){
echo "La réponse à la question " .$numQuestion. " est JUSTE ! \n"; echo "La réponse à la question " .$numDemo. " est JUSTE ! \n";
$cmpt++; $cmpt++;
} }
else echo "La réponse à la question " .$numQuestion. " est FAUSSE ! \n"; else echo "La réponse à la question " .$numDemo. " est FAUSSE ! \n";
} }

@ -3,7 +3,7 @@
session_start(); session_start();
require_once('../BDD/SqliteDb.php'); require_once('../BDD/SqliteDb.php');
require_once('../BDD/OracleDb.php'); require_once('../BDD/OracleDb.php');
$db = new SqliteDb(); $db = new SqliteDb('o');
$oracleDb = new OracleDb(); $oracleDb = new OracleDb();
$conn = $oracleDb->getConn(); $conn = $oracleDb->getConn();

@ -2,55 +2,129 @@
<link rel="stylesheet" href="css/VueAdmin.css"> <link rel="stylesheet" href="css/VueAdmin.css">
<form style="border:1px solid #ccc" method="GET" action="AjoutQuestion.php">
<div class="container">
<?php require_once('../BDD/SqliteDb.php'); <?php require_once('../BDD/SqliteDb.php');
require_once('../BDD/OracleDb.php'); require_once('../BDD/OracleDb.php');
$db = new SqliteDb(); $db = new SqliteDb('o');
$stmt = $db->prepare('SELECT question,reponse FROM Correct WHERE numQuestion= ? AND numTp = ?');
$typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?');
$typeQuery->bindParam(1, $_GET['numQuestion']);
$typeQuery->bindParam(2, $_GET['numTp']);
$resultType = $typeQuery->execute();
$typeRow = $resultType->fetchArray();
if($typeRow['type']== 'query')
$stmt = $db->prepare('SELECT question,reponse,points FROM Correct WHERE numQuestion= ? AND numTp = ?');
else if($typeRow['type']== 'functionCorrect')
$stmt = $db->prepare('SELECT question,reponse,fonctionCorrect,points FROM FunctionCorrect WHERE numQuestion= ? AND numTp = ?');
$stmt->bindParam(1, $_GET['numQuestion']); $stmt->bindParam(1, $_GET['numQuestion']);
$stmt->bindParam(2, $_GET['numTp']); $stmt->bindParam(2, $_GET['numTp']);
$resultQuestion = $stmt->execute(); $resultQuestion = $stmt->execute();
$questionRow = $resultQuestion->fetchArray(); $questionRow = $resultQuestion->fetchArray();
echo 'AAAAAAAAAAAAAAAA'.$_GET['numTp'].$questionRow['reponse'];
?> ?>
<h1>Ajouter une question</h1> <form style="border:1px solid #ccc" method="GET" >
<div class="container">
<h1>Modifier une question</h1>
<hr> <hr>
<label><b>TP n° : </b></label> <label><b>TP n° : </b></label>
<input type="text" placeholder="Numéro du TP" name="tp" value="<?php echo $_GET['numTp']; ?>" required> <input type="text" placeholder="Numéro du TP" id="tp" value="<?php echo $_GET['numTp']; ?>" required>
<label><b>Numéro de question : </b></label> <label><b>Numéro de question : </b></label>
<input type="text" placeholder="Saisir le numéro de question..." name="num" value="<?php echo $_GET['numQuestion']; ?>" required> <input type="text" placeholder="Saisir le numéro de question..." id="num" value="<?php echo $_GET['numQuestion']; ?>" required>
<label><b>Barème : </b></label> <label><b>Barème : </b></label>
<input type="text" placeholder="Barème..." name="points" required> <input type="text" placeholder="Barème..." id="points" value="<?php echo $questionRow['points']; ?>" required>
<label><b>Consigne : </b></label> <label><b>Consigne : </b></label>
<input type="text" placeholder="Ecrire la consigne..." name="consigne" value="<?php echo $questionRow['question']; ?>" required> <input type="text" placeholder="Ecrire la consigne..." id="consigne" value="<?php echo $questionRow['question']; ?>" required>
<label><b>Réponse : </b></label> <label><b>Réponse : </b></label>
<input type="text" placeholder="SELECT ..." name="reponse" value="<?php echo $questionRow['reponse']; ?>" required> <input type="text" placeholder="SELECT ..." id="reponse" value="<?php echo $questionRow['reponse']; ?>" required>
<label> <b>Choisir le type de la question : </b><br/> <label> <b>Choisir le type de la question : </b><br/>
<input type="radio" name="type" value="requete" style="margin-bottom:15px" checked> requête simple <input type="radio" name="type" value="requete" style="margin-bottom:15px" <?php if($typeRow['type']== 'query') echo 'checked'; ?>> requête simple
<input type="radio" name="type" value="fonction" style="margin-bottom:15px"> fonction <input type="radio" name="type" value="fonction" id="btn-fonction" style="margin-bottom:15px" <?php if($typeRow['type']== 'functionCorrect') echo 'checked'; ?>> fonction
</label><br/> </label><br/>
<div id='show-me' style='display:none'>
<label ><b>Fonction : </b></label>
<input type="text" placeholder="CREATE OR REPLACE FUNCTION ..." id="fonction" value="<?php if(isset($questionRow['fonctionCorrect'])) echo $questionRow['fonctionCorrect']; ?> " required>
</div>
<label><b>Verification avec BDD aléatoire? </b><br/> <label><b>Verification avec BDD aléatoire? </b><br/>
<input type="radio" name="aleatoire" value="o" style="margin-bottom:15px"> oui <input type="radio" name="aleatoire" value="o" style="margin-bottom:15px" > oui
<input type="radio" name="aleatoire" value="n" style="margin-bottom:15px" checked> non <input type="radio" name="aleatoire" value="n" style="margin-bottom:15px" checked> non
</label><br/> </label><br/>
<label><b>Base de données conçernée </b><br/> <label><b>Base de données conçernée </b><br/>
<input type="radio" name="bdd" value="o" style="margin-bottom:15px" checked> NBA <input type="radio" name="bdd" value="NBA" style="margin-bottom:15px" checked> NBA
</label> </label>
<input type="hidden" name="modif" value="modif" >
<input type="hidden" id="modif" value="modif" >
<div class="clearfix"> <div class="clearfix">
<button type="submit" class="btnvalider"> Valider</button> <input type="button" value="Modifier" onclick="SubmitModifierQuestion()" />
</div> </div>
</div> </div>
</form> </form>
<div id="erreur">
</div>
<input type="button" value="Afficher les Questions" onclick="AfficherQuestions()">
<script>
$(document).ready(function() {
$('input[type="radio"]').click(function() {
if($(this).attr('id') == 'btn-fonction') {
$('#show-me').show();
}
else {
$('#show-me').hide();
}
});
if ($("#btn-fonction").prop("checked")) {
$('#show-me').show();
}
});
function SubmitModifierQuestion() {
//document.write($('#demo'+numQuestion).val());
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() ;
var modif = $('#modif').val();
$.get("Traitement/AjoutQuestion.php", { modif: modif, tp: tp,num: num,points: points,consigne: consigne,reponse: reponse,type: type,aleatoire: aleatoire,bdd: bdd, fonction : fonction},
function(data) {
$('#erreur').html(data);
//$('#demoForm')[0].reset();
});
}
function AfficherQuestions(){
location.reload();
}
</script>

@ -4,64 +4,89 @@ require_once('../BDD/SqliteDb.php');
$db = new SqliteDb('o'); $db = new SqliteDb('o');
$numQuestion = $_GET['numQuestion']; $numDemo = $_GET['numQuestion'];
$numTp = $_GET['numTp']; $numChapitre = $_GET['numTp'];
$numQuestionPrec = $numQuestion-1; $numDemoPrec = $numDemo-1;
$test = 999; $test = 999;
$Correct = 'Correct'; $Correct = 'Correct';
$function = 'functionCorrect'; $function = 'functionCorrect';
if($numQuestion!=1){ if($numDemo!=1){
$typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?'); $typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?');
$typeQuery->bindParam(1, $numQuestion); $typeQuery->bindParam(1, $numDemo);
$typeQuery->bindParam(2, $numTp); $typeQuery->bindParam(2, $numChapitre);
$resultType = $typeQuery->execute(); $resultType = $typeQuery->execute();
$typeRow = $resultType->fetchArray(); $typeRow = $resultType->fetchArray();
$typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?'); $typeQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion = ? AND numTp= ?');
$typeQuery->bindParam(1, $numQuestionPrec); $typeQuery->bindParam(1, $numDemoPrec);
$typeQuery->bindParam(2, $numTp); $typeQuery->bindParam(2, $numChapitre);
$resultType = $typeQuery->execute(); $resultType = $typeQuery->execute();
$type2Row = $resultType->fetchArray(); $type2Row = $resultType->fetchArray();
//----------
if($typeRow['type'] == 'query'){ if($typeRow['type'] == 'query'){
$table = 'Correct'; $table = 'Correct';
$type = 'query';
}
else{
$table = 'FunctionCorrect';
$type = 'functionCorrect';
} }
else $table = 'FunctionCorrect';
$sqliteQuery = $db->prepare('UPDATE '.$table.' SET numQuestion=? WHERE numQuestion=? AND numTp=?'); $sqliteQuery = $db->prepare('UPDATE '.$table.' SET numQuestion=? WHERE numQuestion=? AND numTp=?');
$sqliteQuery->bindParam(1, $test); $sqliteQuery->bindParam(1, $test);
$sqliteQuery->bindParam(2, $numQuestion); $sqliteQuery->bindParam(2, $numDemo);
$sqliteQuery->bindParam(3, $numTp); $sqliteQuery->bindParam(3, $numChapitre);
$result = $sqliteQuery->execute(); $result = $sqliteQuery->execute();
//---------
if($type2Row['type'] == 'query'){ if($type2Row['type'] == 'query'){
$table2 = 'Correct'; $table2 = 'Correct';
$type2 = 'query';
}
else{
$table2 = 'FunctionCorrect';
$type2 = 'functionCorrect';
} }
else $table2 = 'FunctionCorrect';
$sqliteQuery = $db->prepare('UPDATE '.$table2.' SET numQuestion=? WHERE numQuestion=? AND numTp=?'); $sqliteQuery = $db->prepare('UPDATE '.$table2.' SET numQuestion=? WHERE numQuestion=? AND numTp=?');
$sqliteQuery->bindParam(1, $numDemo);
$sqliteQuery->bindParam(2, $numDemoPrec);
$sqliteQuery->bindParam(3, $numChapitre);
$resulti = $sqliteQuery->execute();
$sqliteQuery->bindParam(1, $numQuestion); $sqliteQuery = $db->prepare('UPDATE Type SET type=? WHERE numQuestion=? AND numTp=?');
$sqliteQuery->bindParam(2, $numQuestionPrec); $sqliteQuery->bindParam(1, $type2);
$sqliteQuery->bindParam(3, $numTp); $sqliteQuery->bindParam(2, $numDemo);
$sqliteQuery->bindParam(3, $numChapitre);
$resulti = $sqliteQuery->execute(); $resulti = $sqliteQuery->execute();
//---------
$sqliteQuery = $db->prepare('UPDATE '.$table.' SET numQuestion=? WHERE numQuestion=? AND numTp=?'); $sqliteQuery = $db->prepare('UPDATE '.$table.' SET numQuestion=? WHERE numQuestion=? AND numTp=?');
$sqliteQuery->bindParam(1, $numQuestionPrec); $sqliteQuery->bindParam(1, $numDemoPrec);
$sqliteQuery->bindParam(2, $test); $sqliteQuery->bindParam(2, $test);
$sqliteQuery->bindParam(3, $numTp); $sqliteQuery->bindParam(3, $numChapitre);
$resultp = $sqliteQuery->execute(); $resultp = $sqliteQuery->execute();
////
$sqliteQuery = $db->prepare('UPDATE Type SET numQuestion=? WHERE numQuestion=? AND numTp=?'); $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(1, $test);
$sqliteQuery->bindParam(2, $numQuestion); $sqliteQuery->bindParam(2, $numQuestion);
$sqliteQuery->bindParam(3, $numTp); $sqliteQuery->bindParam(3, $numTp);
@ -77,7 +102,7 @@ if($numQuestion!=1){
$sqliteQuery->bindParam(1, $numQuestionPrec); $sqliteQuery->bindParam(1, $numQuestionPrec);
$sqliteQuery->bindParam(2, $test); $sqliteQuery->bindParam(2, $test);
$sqliteQuery->bindParam(3, $numTp); $sqliteQuery->bindParam(3, $numTp);
$resultp = $sqliteQuery->execute(); $resultp = $sqliteQuery->execute();*/
} }

@ -0,0 +1,40 @@
<?php
require_once('../BDD/SqliteDb.php');
$db = new SqliteDb('o');
$numDemo = $_GET['numDemo'];
$numChapitre = $_GET['numChapitre'];
$numDemoPrec = $numDemo-1;
$test = 999;
if($numDemo!=1){
$sqliteQuery = $db->prepare('UPDATE Demonstration SET numDemo=? WHERE numDemo=? AND chapitre=?');
$sqliteQuery->bindParam(1, $test);
$sqliteQuery->bindParam(2, $numDemo);
$sqliteQuery->bindParam(3, $numChapitre);
$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);
$resulti = $sqliteQuery->execute();
$sqliteQuery = $db->prepare('UPDATE Demonstration SET numDemo=? WHERE numDemo=? AND chapitre=?');
$sqliteQuery->bindParam(1, $numDemoPrec);
$sqliteQuery->bindParam(2, $test);
$sqliteQuery->bindParam(3, $numChapitre);
$resultp = $sqliteQuery->execute();
}
//header("Location: index.php");

@ -2,7 +2,7 @@
require_once('../BDD/SqliteDb.php'); require_once('../BDD/SqliteDb.php');
$db = new SqliteDb(); $db = new SqliteDb('o');
$sqliteQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion=? AND numTp = ?'); $sqliteQuery = $db->prepare('SELECT type FROM Type WHERE numQuestion=? AND numTp = ?');
@ -23,3 +23,8 @@ $db = new SqliteDb();
$sqliteQueryF->bindParam(2, $_GET['numTp']); $sqliteQueryF->bindParam(2, $_GET['numTp']);
$result = $sqliteQueryF->execute(); $result = $sqliteQueryF->execute();
} }
$sqliteQuery = $db->prepare('DELETE FROM Type WHERE numquestion= ? AND numTp=? ');
$sqliteQuery->bindParam(1, $_GET['numQuestion']);
$sqliteQuery->bindParam(2, $_GET['numTp']);
$result = $sqliteQuery->execute();

Binary file not shown.

@ -35,11 +35,17 @@ class Controleur {
$this->afficherDemonstrations(); $this->afficherDemonstrations();
break; break;
case 'Générer Base de données aléatoire':
$this->resetRandomBdd();
break;
case 'ok' : case 'ok' :
//$this->verificationConnexion(); //$this->verificationConnexion();
$this->afficherDemonstrations(); $this->afficherDemonstrations();
break; break;
case 'Reintiliser les demonstrations' :
$this->resetDemonstrations();
break;
case 'Afficher les QCM' : case 'Afficher les QCM' :
$this->afficherQCM(); $this->afficherQCM();
@ -62,6 +68,19 @@ class Controleur {
//$this->afficherQuestions(); //$this->afficherQuestions();
} }
function resetRandomBdd(){
require_once('BDD/OracleDb.php');
$oraDb = new OracleDb();
$oraDb->createRandomTables();
$this->afficherQuestions();
}
function resetDemonstrations(){
$db = new SqliteDb();
$db->createDemonstration();
$this->afficherDemonstrations();
}
function afficherQuestions(){ function afficherQuestions(){
global $rep,$vues,$css; global $rep,$vues,$css;

@ -4,12 +4,13 @@
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2"> <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group> <group>
<file>file:/C:/xampp/htdocs/BddCorrect/vues/VueAdmin.php</file> <file>file:/C:/xampp/htdocs/BddCorrect/vues/VueAdmin.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/metier/Question.php</file> <file>file:/C:/xampp/htdocs/BddCorrect/Traitement/AjoutQuestion.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/Modification.php</file> <file>file:/C:/xampp/htdocs/BddCorrect/BDD/SqliteDb.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/SqliteDb.php</file> <file>file:/C:/xampp/htdocs/BddCorrect/Traitement/Suppression.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/vues/VuePrincipale.php</file> <file>file:/C:/xampp/htdocs/BddCorrect/Traitement/Ordre.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/AjoutQuestion.php</file> <file>file:/C:/xampp/htdocs/BddCorrect/Traitement/Modification.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/Correcteur.php</file> <file>file:/C:/xampp/htdocs/BddCorrect/BDD/OracleDb.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/Traitement/Correcteur.php</file>
</group> </group>
</open-files> </open-files>
</project-private> </project-private>

@ -1,45 +1,101 @@
<html>
<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"> <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</h1>
<hr>
<label><b>TP n° : </b></label>
<input type="text" placeholder="Numéro du TP" id="tp" name='tp' required>
<label><b>Numéro de question : </b></label>
<input type="text" placeholder="Saisir le numéro de question..." id="num" required>
<label><b>Barème : </b></label>
<input type="text" placeholder="Barème..." id="points" required>
<label><b>Consigne : </b></label>
<input type="text" placeholder="Ecrire la consigne..." id="consigne" required>
<label><b>Réponse : </b></label>
<input type="text" placeholder="SELECT ..." id="reponse" required>
<label> <b>Choisir le type de la question : </b><br/>
<input type="radio" name="type" value="requete" style="margin-bottom:15px" checked> requête simple
<input type="radio" name="type" value="fonction" id="btn-fonction" style="margin-bottom:15px"> fonction
</label><br/>
<div id='show-me' style='display:none'>
<label ><b>Fonction : </b></label>
<input type="text" placeholder="CREATE OR REPLACE FUNCTION ..." id="fonction" required>
</div>
<label><b>Verification avec BDD aléatoire? </b><br/>
<input type="radio" name="aleatoire" value="o" style="margin-bottom:15px" checked> oui
<input type="radio" name="aleatoire" value="n" style="margin-bottom:15px"> non
</label><br/>
<form style="border:1px solid #ccc" method="GET" action="../Traitement/AjoutQuestion.php"> <label><b>Base de données conçernée </b><br/>
<div class="container"> <input type="radio" name="bdd" value="NBA" style="margin-bottom:15px" checked> NBA
</label>
<div >
<input type="button" value="Ajouter" onclick="SubmitAjoutQuestion()" />
</div>
</div>
</form>
<div id="erreur">
<h1>Ajouter une question</h1> </div>
<hr> </body>
<label><b>TP n° : </b></label> <script>
<input type="text" placeholder="Numéro du TP" name="tp" required>
<label><b>Numéro de question : </b></label> $(document).ready(function() {
<input type="text" placeholder="Saisir le numéro de question..." name="num" required> $('input[type="radio"]').click(function() {
if($(this).attr('id') == 'btn-fonction') {
$('#show-me').show();
}
<label><b>Barème : </b></label> else {
<input type="text" placeholder="Barème..." name="points" required> $('#show-me').hide();
}
});
});
function SubmitAjoutQuestion() {
//document.write($('#demo'+numQuestion).val());
<label><b>Consigne : </b></label>
<input type="text" placeholder="Ecrire la consigne..." name="consigne" required>
<label><b>Réponse : </b></label> var tp = $('#tp').val() ;
<input type="text" placeholder="SELECT ..." name="reponse" required> 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() ;
$.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);
//$('#demoForm')[0].reset();
});
}
<label> <b>Choisir le type de la question : </b><br/>
<input type="radio" name="type" value="requete" style="margin-bottom:15px"> requête simple
<input type="radio" name="type" value="fonction" style="margin-bottom:15px"> fonction
</label><br/>
<label><b>Verification avec BDD aléatoire? </b><br/>
<input type="radio" name="aleatoire" value="o" style="margin-bottom:15px"> oui
<input type="radio" name="aleatoire" value="n" style="margin-bottom:15px"> non
</label><br/>
<label><b>Base de données conçernée </b><br/>
<input type="radio" name="bdd" value="o" style="margin-bottom:15px"> NBA
</label>
<div class="clearfix">
<button type="submit" class="btnvalider"> Valider</button>
</div>
</div>
</form>
</script>
</html>

@ -1,33 +1,67 @@
<html>
<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"> <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</h1>
<hr>
<label><b>Chapitre n° : </b></label>
<input type="text" placeholder="Numéro du chapitre" id="chapitre" name='chapitre' required>
<label><b>Numéro de démonstration : </b></label>
<input type="text" placeholder="Saisir le numéro de la démonstration..." id="numDemo" required>
<label><b>Description : </b></label>
<input type="text" placeholder="Ecrire l'intitulé de la démonstration..." id="description" required>
<label><b>Réponse : </b></label>
<input type="text" placeholder="SELECT ..." id="reponse" required>
<form style="border:1px solid #ccc" method="GET" action="../Traitement/AjoutDemonstration.php"> <label><b>Base de données conçernée </b><br/>
<div class="container"> <input type="radio" name="bdd" value="NBA" style="margin-bottom:15px" checked> NBA
</label>
<div >
<input type="button" value="Ajouter" onclick="SubmitAjoutDemo()" />
</div>
</div>
</form>
<div id="erreur">
<h1>Ajouter une démonstration</h1> </div>
<hr> </body>
<label><b>Chapitre : </b></label> <script>
<input type="text" placeholder="Numéro du chapitre" name="tp" required>
<label><b>Numéro de démonstration : </b></label> function SubmitAjoutDemo() {
<input type="text" placeholder="Saisir le numéro de démonstration..." name="num" required>
<label><b>Intitulé : </b></label> var chapitre = $('#chapitre').val() ;
<input type="text" placeholder="Ecrire l'intitulé..." name="consigne" required> var numDemo = $('#numDemo').val() ;
var description = $('#description').val() ;
var reponse = $('#reponse').val() ;
var bdd = $("input[name='bdd']:checked").val();
<label><b>Réponse : </b></label> $.get("../Traitement/AjoutDemonstration.php", { chapitre: chapitre,numDemo: numDemo,description: description,reponse: reponse,bdd: bdd},
<input type="text" placeholder="SELECT ..." name="reponse" required> function(data) {
$('#erreur').html(data);
//$('#demoForm')[0].reset();
});
}
<label><b>Base de données conçernée </b><br/>
<input type="radio" name="bdd" value="o" style="margin-bottom:15px" checked> NBA
</label>
<div class="clearfix">
<button type="submit" class="btnvalider"> Valider</button>
</div>
</div>
</form>
</script>
</html>

@ -56,6 +56,8 @@
<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(); ?>" >
<?php echo $q->getReponse(); ?> <?php echo $q->getReponse(); ?>
</textarea> </textarea>
<input class="monterDemonstration" type="button" value="Monter" onclick="MonterDemonstration(<?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(); ?>);" ></p>
<div id="results<?php echo $q->getNumQuestion(); ?>"> <div id="results<?php echo $q->getNumQuestion(); ?>">
@ -68,9 +70,8 @@
</div> </div>
</div> </div>
</section> </section>
<form method="get"> <form method="get" >
<input type="submit" name="test" id="test" value="Générer Base de données aléatoire" /><br/> <input type="submit" name="action" id="regenererDemo" value="Reintiliser les demonstrations" /><br/>
<input type="submit" name="regenererDemo" id="regenererDemo" value="Reintiliser les demonstrations" onclick="resetDemo()" /><br/>
</form> </form>
<a href="vues/VueAjoutDemo.php"><button>Ajouter Une Démonstration</button></a> <a href="vues/VueAjoutDemo.php"><button>Ajouter Une Démonstration</button></a>
<a href="vues/VueLibre.php"><button>Creation table</button></a> <a href="vues/VueLibre.php"><button>Creation table</button></a>
@ -78,46 +79,36 @@
<form method="get" role="form"> <form method="get" role="form">
<input type="submit" name="action" value="Afficher les questions" /><br/> <input type="submit" name="action" value="Afficher les questions" /><br/>
<input type="submit" name="action" value="Afficher les QCM" ><br/> <input type="submit" name="action" value="Afficher les QCM" ><br/>
<input type="submit" name="action" id="afficher-demo" value="Afficher les demonstrations" style='display:none'>
</form> </form>
<div id="erreur">
<?php </div>
if(array_key_exists('test',$_GET)){
$oraDb = new OracleDb;
}
if(array_key_exists('regenererDemo',$_GET)){
$message = "wrong answer";
echo "<script type='text/javascript'>alert('$message');</script>";
$db = new SqliteDb();
$db->createDemonstration();
$URL="index.php";
echo '<META HTTP-EQUIV="refresh" content="0;URL=' . $URL . '">';
}
?>
<script> <script>
function resetDemo(){
alert("ok");
<?php $db = new SqliteDb();
$db->createDemonstration();
?>
}
function SubmitDemoData(numQuestion) { function SubmitDemoData(numQuestion) {
var l= [];
//document.write($('#demo'+numQuestion).val()); //document.write($('#demo'+numQuestion).val());
var txt = $('#demo'+numQuestion).val() ; var txt = $('#demo'+numQuestion).val() ;
/*$('textarea[name^="demo"]').each(function() {
l.push($(this).val());
});*/
$.get("Traitement/AffichageDemo.php", { textbox: txt}, $.get("Traitement/AffichageDemo.php", { textbox: txt},
function(data) { function(data) {
$('#results'+numQuestion).html(data); $('#results'+numQuestion).html(data);
//$('#demoForm')[0].reset(); //$('#demoForm')[0].reset();
}); });
} }
function MonterDemonstration(numDemo, numChapitre) {
if(numDemo > 1){
$.get("Traitement/OrdreDemo.php", { numDemo : numDemo, numChapitre : numChapitre },
function(data) {
//$('#questionsForm')[0].reset();
//$('#erreur').html(data);
$("#afficher-demo").trigger("click");
//window.location.replace("index.php");
});
}
}
</script> </script>
<!-- Footer --> <!-- Footer -->
<footer class="py-5 bg-dark"> <footer class="py-5 bg-dark">

@ -74,7 +74,7 @@
<form method="get" class="frm"> <form method="get" class="frm">
<input type="submit" name="test" id="test" value="Générer Base de données aléatoire" /> <input type="submit" name="action" id="test" value="Générer Base de données aléatoire" />
<input type="submit" name="regenerer" id="test" value="Réintiliser les questions" /><br/> <input type="submit" name="regenerer" id="test" value="Réintiliser les questions" /><br/>
</form> </form>
<a href="vues/VueAdmin.php"><button>Ajouter Une Question</button></a> <a href="vues/VueAdmin.php"><button>Ajouter Une Question</button></a>
@ -87,12 +87,7 @@
<?php <?php
if(array_key_exists('test',$_GET)){
$oraDb = new OracleDb();
$oraDb->createRandomTables();
$URL="index.php";
echo '<META HTTP-EQUIV="refresh" content="0;URL=' . $URL . '">';
}
if(array_key_exists('regenerer',$_GET)){ if(array_key_exists('regenerer',$_GET)){
$db = new SqliteDb(); $db = new SqliteDb();
@ -156,6 +151,7 @@
} }
function ModifierQuestion(numQuestion, numTp) { function ModifierQuestion(numQuestion, numTp) {
$.get("Traitement/Modification.php", { numQuestion : numQuestion, numTp : numTp }, $.get("Traitement/Modification.php", { numQuestion : numQuestion, numTp : numTp },
function(data) { function(data) {
$('#vuep').empty(); $('#vuep').empty();
@ -177,6 +173,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);
</script> </script>
<!-- Footer --> <!-- Footer -->
<footer class="py-5 bg-dark"> <footer class="py-5 bg-dark">

@ -79,7 +79,6 @@
<a href="vues/VueAdmin.php"><button>Ajouter Une Question</button></a> <a href="vues/VueAdmin.php"><button>Ajouter Une Question</button></a>
<a href="vues/VueLibre.php"><button>Creation table</button></a> <a href="vues/VueLibre.php"><button>Creation table</button></a>
<a href="vues/VueSupression.php"><button>vue suppression</button></a>
<form method="get" role="form"> <form method="get" role="form">
<input type="submit" name="action" value="Afficher les demonstrations" ><br/> <input type="submit" name="action" value="Afficher les demonstrations" ><br/>

Loading…
Cancel
Save