toutes les fonctionnalités pour les démonstrations et qcm + gestion date de tp

master
Mehdi 5 years ago
parent 0ac27fb95c
commit 5b6907f098

@ -12,10 +12,12 @@ class SqliteDb extends SQLite3
if($o == 'n')
$this->open('Traitement/test2.db');
else $this->open('test2.db');
/*$this->createLogin();
$this->createTable();
$this->createDemonstration();
$this->createQCM();*/
//$this->createLogin();
// $this->createTable();
//$this->createDemonstration();
//$this->createQCM();
// $this->createDateTp();
}
@ -181,6 +183,15 @@ class SqliteDb extends SQLite3
$stmt->execute();
}
function createDateTp(){
$this->exec('DROP TABLE dateTp');
$this->exec('CREATE TABLE dateTp ( numTp NUMBER, dateDebut STRING, dateFin STRING)');
$this->exec("INSERT INTO dateTp VALUES(2,'20200101','20200814')");
}
function joueurEtDateRandom(&$nomRandom, &$dateRandom){
$listeJoueurQuery = oci_parse($this->conn, 'SELECT prenomnoms,datematch FROM STATS INTERSECT SELECT prenomnoms,datematch FROM randomstats ');
@ -297,7 +308,25 @@ class SqliteDb extends SQLite3
$prp->bindParam(2, $numQuestion);
$result = $prp->execute();
$row = $result->fetchArray();
if($row['count(*)'] == 0) return false;
if($row['count(*)'] == 0){
$q = "SELECT count(*) FROM Type WHERE numTp = ?";
$prp=$this->prepare($q);
$prp->bindParam(1, $tp);
$result = $prp->execute();
$row = $result->fetchArray();
if($row['count(*)'] == 0){
date_default_timezone_set('Europe/Paris');
$dateD = date('Ymd');
$dateF = date('Ymd',strtotime('+9 months'));
$q = "INSERT INTO DateTp VALUES(?,?,?)";
$prp=$this->prepare($q);
$prp->bindParam(1, $tp);
$prp->bindParam(2, $dateD);
$prp->bindParam(3, $dateF);
$result = $prp->execute();
}
return false;
}
return true;
}
@ -354,5 +383,30 @@ class SqliteDb extends SQLite3
$prp->bindParam(2, $numQuestion);
$prp->execute();
}
function supprimerDemonstration($chapitre, $numDemo){
$qt = "DELETE FROM Demonstration WHERE chapitre=? AND numDemo=? ";
$prp=$this->prepare($qt);
$prp->bindParam(1, $chapitre);
$prp->bindParam(2, $numDemo);
$prp->execute();
}
function supprimerQCM($numQuestion){
$qt = "DELETE FROM QcmQuestion WHERE numQuestion=? ";
$prp=$this->prepare($qt);
$prp->bindParam(1, $numQuestion);
$prp->execute();
$qt = "DELETE FROM QcmReponse WHERE numQuestion=? ";
$prp=$this->prepare($qt);
$prp->bindParam(1, $numQuestion);
$prp->execute();
$qt = "DELETE FROM QcmCorrection WHERE numQuestion=? ";
$prp=$this->prepare($qt);
$prp->bindParam(1, $numQuestion);
$prp->execute();
}
}

@ -10,14 +10,14 @@ class QCMGateway {
public function afficherQCM() {
$i = 0;
$query = 'SELECT * FROM QcmQuestion';
$query = 'SELECT * FROM QcmQuestion ORDER BY numQuestion';
$query = $this->db->prepare($query);
$result = $query->execute();
$tabQuestions = array();
//$resultats = $this->db->query('SELECT found_rows()');
while($q = $result->fetchArray()){
$i= $i+1;
$reponseQuery = 'SELECT * FROM QcmReponse WHERE numQuestion=?';
$reponseQuery = 'SELECT * FROM QcmReponse WHERE numQuestion=? ORDER BY numReponse';
$stmt = $this->db->prepare($reponseQuery);
$stmt->bindParam(1, $q['numQuestion']);
$reponseResult = $stmt->execute();

@ -19,10 +19,7 @@ else if(!is_numeric($_GET['numDemo']))
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']);
$db->supprimerDemonstration($_GET['chapitre'], $_GET['numDemo']);
}

@ -2,13 +2,17 @@
require_once('../BDD/SqliteDb.php');
require_once('../controleur/Controleur.php');
$db = new SqliteDb('o');
if(isset($_GET['modif'])){
$db->supprimerQCM ($_GET['numQuestion']);
}
$db = new SqliteDb('o');
$isAdd = $db->ajouterQCM($_GET['numQuestion'],$_GET['consigne'],$_GET['choix1'],$_GET['choix2'],$_GET['choix3'], $_GET['reponse']);
$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>';
}
else echo '<strong>AJOUT QCM avec succès</strong>';

@ -5,7 +5,6 @@ require_once('../controleur/Controleur.php');
$db = new SqliteDb('o');
$lol = 'ok';
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>';

@ -0,0 +1,24 @@
<?php
require_once('../BDD/SqliteDb.php');
require_once('../controleur/Controleur.php');
$db = new SqliteDb('o');
$debut =str_replace('-', '', $_GET['debut']) ;
$fin =str_replace('-', '', $_GET['fin']) ;
$q = "UPDATE dateTp SET dateDebut=? WHERE numtp=?";
$prp=$db->prepare($q);
$prp->bindParam(1, $debut );
$prp->bindParam(2, $_GET['tp']);
$result = $prp->execute();
$q = "UPDATE dateTp SET dateFin=? WHERE numtp=?";
$prp=$db->prepare($q);
$prp->bindParam(1, $fin);
$prp->bindParam(2,$_GET['tp'] );
$result = $prp->execute();

@ -36,10 +36,10 @@ $questionRow = $resultQuestion->fetchArray();
<hr>
<label><b>TP n° : </b></label>
<input type="text" placeholder="Numéro du TP" id="tp" value="<?php echo $_GET['numTp']; ?>" required>
<input type="text" placeholder="Numéro du TP" id="tp" value="<?php echo $_GET['numTp']; ?>" required disabled>
<label><b>Numéro de question : </b></label>
<input type="text" placeholder="Saisir le numéro de question..." id="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 disabled>
<label><b>Barème : </b></label>
<input type="text" placeholder="Barème..." id="points" value="<?php echo $questionRow['points']; ?>" required>

@ -0,0 +1,78 @@
<link rel="stylesheet" href="css/VueAdmin.css">
<?php require_once('../BDD/SqliteDb.php');
require_once('../BDD/OracleDb.php');
$db = new SqliteDb('o');
$stmt = $db->prepare('SELECT * FROM Demonstration WHERE numDemo= ? AND chapitre = ?');
$stmt->bindParam(1, $_GET['numDemo']);
$stmt->bindParam(2, $_GET['numChapitre']);
$resultQuestion = $stmt->execute();
$questionRow = $resultQuestion->fetchArray();
?>
<form style="border:1px solid #ccc" method="GET" >
<div class="container">
<h1>Modifier une démonstration</h1>
<hr>
<label><b>Chapitre n° : </b></label>
<input type="text" placeholder="Numéro du TP" id="chapitre" value="<?php echo $_GET['numChapitre']; ?>" required disabled>
<label><b>Numéro de démonstration : </b></label>
<input type="text" placeholder="Saisir le numéro de question..." id="numDemo" value="<?php echo $_GET['numDemo']; ?>" required disabled>
<label><b>Description : </b></label>
<input type="text" placeholder="Ecrire la consigne..." id="description" value="<?php echo $questionRow['description']; ?>" required>
<label><b>Réponse : </b></label>
<input type="text" placeholder="SELECT ..." id="reponse" value="<?php echo $questionRow['reponse']; ?>" required>
<label><b>Base de données conçernée </b><br/>
<input type="radio" name="bdd" value="NBA" style="margin-bottom:15px" checked> NBA
</label>
<input type="hidden" id="modif" value="modif" >
<div class="clearfix">
<input type="button" value="Modifier" onclick="SubmitModifierDemonstration()" />
</div>
</div>
</form>
<div id="result">
</div>
<input type="button" value="Afficher les demonstrations" onclick="AfficherDemonstrations()">
<script>
function SubmitModifierDemonstration() {
//document.write($('#demo'+numQuestion).val());
var chapitre = $('#chapitre').val() ;
var numDemo = $('#numDemo').val() ;
var description = $('#description').val() ;
var reponse = $('#reponse').val() ;
var bdd = $("input[name='bdd']:checked").val();
var modif = 1;
$.get("Traitement/AjoutDemonstration.php", { modif: modif, chapitre: chapitre,numDemo: numDemo,description: description,reponse: reponse,bdd: bdd},
function(data) {
$('#result').html(data);
//$('#demoForm')[0].reset();
});
}
function AfficherDemonstrations(){
location.reload();
}
</script>

@ -0,0 +1,100 @@
<link rel="stylesheet" href="css/VueAdmin.css">
<?php require_once('../BDD/SqliteDb.php');
require_once('../BDD/OracleDb.php');
$db = new SqliteDb('o');
$stmt = $db->prepare('SELECT * FROM QcmQuestion WHERE numQuestion= ?');
$stmt->bindParam(1, $_GET['numQuestion']);
$resultQuestion = $stmt->execute();
$questionRow = $resultQuestion->fetchArray();
$stmt = $db->prepare('SELECT reponse FROM QcmReponse WHERE numQuestion= ?');
$stmt->bindParam(1, $_GET['numQuestion']);
$resultQuestion = $stmt->execute();
while($r = $resultQuestion->fetchArray(SQLITE3_NUM)){
$reponseRow[] = $r[0];
}
$stmt = $db->prepare('SELECT * FROM QcmCorrection WHERE numQuestion= ?');
$stmt->bindParam(1, $_GET['numQuestion']);
$resultQuestion = $stmt->execute();
$correctRow = $resultQuestion->fetchArray();
?>
<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" value="<?php echo $_GET['numQuestion']; ?>" required disabled>
<label><b>Consigne : </b></label>
<input type="text" placeholder="Ecrire l'intitulé de la démonstration..." id="consigne" value="<?php echo $questionRow['question']; ?>" required >
<label><b>Réponse 1 : </b></label>
<input type="text" id="choix1" value="<?php echo $reponseRow[0]; ?>" required>
<label><b>Réponse 2 : </b></label>
<input type="text" id="choix2" value="<?php echo $reponseRow[1]; ?>" required>
<label><b>Réponse 3 : </b></label>
<input type="text" id="choix3" value="<?php echo $reponseRow[2]; ?>" required>
<label><b>Bonne Réponse ? </b><br/>
<input type="radio" name="reponse" value="1" style="margin-bottom:15px" <?php if($correctRow['numReponse']== 1) echo 'checked'; ?>> 1
<input type="radio" name="reponse" value="2" style="margin-bottom:15px" <?php if($correctRow['numReponse']== 2) echo 'checked'; ?>> 2
<input type="radio" name="reponse" value="3" style="margin-bottom:15px" <?php if($correctRow['numReponse']== 3) echo 'checked'; ?>> 3
</label><br/>
<div >
<input type="button" value="Ajouter" onclick="SubmitModifierQCM()" />
</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 SubmitModifierQCM() {
//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();
var modif = 1;
$.get("Traitement/AjoutQCM.php", {numQuestion: numQuestion,consigne: consigne,choix1: choix1,choix2: choix2,choix3: choix3,reponse: reponse, modif : modif},
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>

@ -0,0 +1,71 @@
<?php
require_once('../BDD/SqliteDb.php');
$db = new SqliteDb('o');
$numQuestion = $_GET['numQuestion'];
$numQuestionPrec = $numQuestion-1;
$test = 999;
if(isset($_GET['des'])){
$numQuestion += 1;
$numQuestionPrec = $numQuestion-1;
}
if($numQuestion!=1){
//QCM QUestion
$sqliteQuery = $db->prepare('UPDATE QcmQuestion SET numQuestion=? WHERE numQuestion=? ');
$sqliteQuery->bindParam(1, $test);
$sqliteQuery->bindParam(2, $numQuestion);
$result = $sqliteQuery->execute();
$sqliteQuery = $db->prepare('UPDATE QcmQuestion SET numQuestion=? WHERE numQuestion=?');
$sqliteQuery->bindParam(1, $numQuestion);
$sqliteQuery->bindParam(2, $numQuestionPrec);
$resulti = $sqliteQuery->execute();
$sqliteQuery = $db->prepare('UPDATE QcmQuestion SET numQuestion=? WHERE numQuestion=?');
$sqliteQuery->bindParam(1, $numQuestionPrec);
$sqliteQuery->bindParam(2, $test);
$resultp = $sqliteQuery->execute();
//même chose pour qcmreponse
$sqliteQuery = $db->prepare('UPDATE QcmReponse SET numQuestion=? WHERE numQuestion=? ');
$sqliteQuery->bindParam(1, $test);
$sqliteQuery->bindParam(2, $numQuestion);
$result = $sqliteQuery->execute();
$sqliteQuery = $db->prepare('UPDATE QcmReponse SET numQuestion=? WHERE numQuestion=?');
$sqliteQuery->bindParam(1, $numQuestion);
$sqliteQuery->bindParam(2, $numQuestionPrec);
$resulti = $sqliteQuery->execute();
$sqliteQuery = $db->prepare('UPDATE QcmReponse SET numQuestion=? WHERE numQuestion=?');
$sqliteQuery->bindParam(1, $numQuestionPrec);
$sqliteQuery->bindParam(2, $test);
$resultp = $sqliteQuery->execute();
//même chose pour QCMcorrection
$sqliteQuery = $db->prepare('UPDATE QcmCorrection SET numQuestion=? WHERE numQuestion=? ');
$sqliteQuery->bindParam(1, $test);
$sqliteQuery->bindParam(2, $numQuestion);
$result = $sqliteQuery->execute();
$sqliteQuery = $db->prepare('UPDATE QcmCorrection SET numQuestion=? WHERE numQuestion=?');
$sqliteQuery->bindParam(1, $numQuestion);
$sqliteQuery->bindParam(2, $numQuestionPrec);
$resulti = $sqliteQuery->execute();
$sqliteQuery = $db->prepare('UPDATE QcmCorrection SET numQuestion=? WHERE numQuestion=?');
$sqliteQuery->bindParam(1, $numQuestionPrec);
$sqliteQuery->bindParam(2, $test);
$resultp = $sqliteQuery->execute();
}
//header("Location: index.php");

@ -6,7 +6,53 @@ $db = new SqliteDb('o');
if(isset($_GET['type'])){
if (isset($_GET['qcm'])){
$numQcmSuiv = $_GET['numQuestion']+1;
$sqliteQuery = $db->prepare('SELECT count(*) FROM QcmQuestion ');
$result = $sqliteQuery->execute();
$nbQuestionsRow = $result->fetchArray();
$sqliteQuery = $db->prepare('DELETE FROM QcmQuestion WHERE numQuestion= ? ');
$sqliteQuery->bindParam(1, $_GET['numQuestion']);
$result = $sqliteQuery->execute();
for( $iSuiv = $numQcmSuiv, $j=$_GET['numQuestion'] ; $iSuiv <= $nbQuestionsRow['count(*)'] ; $iSuiv++ , $j++ ){
$sqliteQuery = $db->prepare('UPDATE QcmQuestion SET numQuestion=? WHERE numQuestion=? ');
$sqliteQuery->bindParam(1, $j);
$sqliteQuery->bindParam(2, $iSuiv);
$result = $sqliteQuery->execute();
}
//même chose pour qcmreponse
$sqliteQuery = $db->prepare('DELETE FROM QcmReponse WHERE numQuestion= ? ');
$sqliteQuery->bindParam(1, $_GET['numQuestion']);
$result = $sqliteQuery->execute();
for( $iSuiv = $numQcmSuiv, $j=$_GET['numQuestion'] ; $iSuiv <= $nbQuestionsRow['count(*)'] ; $iSuiv++ , $j++ ){
$sqliteQuery = $db->prepare('UPDATE QcmReponse SET numQuestion=? WHERE numQuestion=? ');
$sqliteQuery->bindParam(1, $j);
$sqliteQuery->bindParam(2, $iSuiv);
$result = $sqliteQuery->execute();
}
//même chose pour QcmCorrection
$sqliteQuery = $db->prepare('DELETE FROM QcmCorrection WHERE numQuestion= ? ');
$sqliteQuery->bindParam(1, $_GET['numQuestion']);
$result = $sqliteQuery->execute();
for( $iSuiv = $numQcmSuiv, $j=$_GET['numQuestion'] ; $iSuiv <= $nbQuestionsRow['count(*)'] ; $iSuiv++ , $j++ ){
$sqliteQuery = $db->prepare('UPDATE QcmCorrection SET numQuestion=? WHERE numQuestion=? ');
$sqliteQuery->bindParam(1, $j);
$sqliteQuery->bindParam(2, $iSuiv);
$result = $sqliteQuery->execute();
}
}
else if(isset($_GET['demo'])){
$numDemoSuiv = $_GET['numDemo']+1;
@ -27,7 +73,6 @@ if(isset($_GET['type'])){
$sqliteQuery->bindParam(2, $iSuiv);
$sqliteQuery->bindParam(3, $_GET['numChapitre']);
$result = $sqliteQuery->execute();
echo 'lol';
}
}

Binary file not shown.

@ -15,8 +15,8 @@ $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['vueAjoutDemo']='vues/VueAjoutDemo.php';
$vues['vueDateTp']='vues/VueGestionTp.php';
$vues['vueGestion']='vues/VueGestionTables.php';

@ -9,7 +9,7 @@ class Controleur {
$dVueEreur = array ();
try{
$action=$_REQUEST['action'];
echo $action;
// echo $action;
switch($action) {
case NULL :
@ -24,6 +24,10 @@ class Controleur {
require ($rep.$vues['vueAccueil']);
break;
case 'Dates de TP' :
require ($rep.$vues['vueDateTp']);
break;
case 'Ajouter une question' :
require ($rep.$vues['vueAdmin']);
break;

@ -6,6 +6,7 @@
}
#frm-reset input{
background: #0082b5;
color: #fff;

@ -3,11 +3,9 @@
<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/vues/VueAdmin.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/Traitement/AjoutQuestion.php</file>
<file>file:/C:/xampp/htdocs/BddCorrect/vues/VueAjoutDemo.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>
<file>file:/C:/xampp/htdocs/BddCorrect/questions.txt</file>
</group>
</open-files>
</project-private>

@ -19,13 +19,11 @@
</nav>
<header class="bg-primary text-white">
<div class="container text-center">
<h1>test</h1>
<p class="lead">TEST</p>
<h1>Menu Principal</h1>
<p class="lead"></p>
</div>
</header>
<div id='allp'>
<div style="font-weight: bold" id="Temps-Restant"></div>
<form method="get" role="form">
<input class="bouton" type="submit" name="action" value="Demonstrations de cours" ><br/>
@ -33,6 +31,7 @@
<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/>
<input class="bouton" type="submit" name="action" value="Dates de TP"><br/>
</form>

@ -19,7 +19,7 @@
<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>
<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>

@ -13,7 +13,7 @@
<div class="container">
<h1>Ajouter une question</h1>
<h1>Ajouter une Démonstration</h1>
<hr>
<label><b>Chapitre n° : </b></label>
@ -45,9 +45,11 @@
<form method="get">
<input id="inp-demo" class="bouton" type="submit" name="action" value="Afficher les demonstrations" >
</form>
</form><br/>
<input type="file" id="fileInput">
<input type="file" id="fileInput"><br/>
<label>Requête sous forme : <strong> type(requete\functionCorrect)**NBA**numeroDuTp**NumeroDeQuestion**Consigne**requete(SELECT...)**barème**verificationAvecBddAleatoire(o\n)**fonction(create function ...) -optionnel</strong> </label>
<p> Tous les noms de table doivent être en majuscule</p>
</body>
<script>
@ -81,7 +83,6 @@
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.*/;

@ -14,31 +14,28 @@
//die($tp_str);
?>
<body>
<body id="vued">
<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">
<?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">
<nav class="navbar navbar-expand-lg navbar-dark bg-dark" id="mainNav">
<div class="container">
<a class="navbar-brand js-scroll-trigger" href="#page-top">Base De Données</a>
<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>
<p class="lead">TEST</p>
<p class="lead"></p>
</div>
</header>-->
</header>
<?php foreach ($dVueDemonstrations as $tp => $questions){ ?>
@ -56,11 +53,11 @@
<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>
<p> <input class="monterDemonstration" type="button" value="Monter" onclick="MonterDemonstration(<?php echo $q->getNumQuestion(); ?>,<?php echo $q->getNumTp(); ?>)" >
<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(); ?>,<?php echo $q->getNumTp(); ?>);" ></p>
<input class="descendreDemonstration" type="button" value="Descendre" onclick="DescendreDemonstration(<?php echo sizeof($questions); ?>,<?php echo $q->getNumQuestion(); ?>,<?php echo $q->getNumTp(); ?>)" >
<input class="modifierDemonstration" type="button" value="Modifier" onclick="ModifierDemonstration(<?php echo $q->getNumQuestion(); ?>,<?php echo $q->getNumTp(); ?>);" >
<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().$q->getNumTp(); ?>">
<!-- les résultats s'affichent içi -->
@ -129,7 +126,7 @@
function SupprimerDemonstration(numDemo,numChapitre) {
var type = "demo";
$.get("Traitement/Suppression.php", { numChapitre : numChapitre, numDemo : numDemo,type : type},
$.get("Traitement/Suppression.php", { numChapitre : numChapitre, numDemo : numDemo,demo : type},
function(data) {
//$('#results'+numDemo+numChapitre).html(data);
//$('#questionsForm')[0].reset();
@ -149,12 +146,11 @@
}
function ModifierQuestion(numQuestion, numTp) {
$.get("Traitement/Modification.php", { numQuestion : numQuestion, numTp : numTp },
function ModifierDemonstration(numDemo, numChapitre) {
$.get("Traitement/ModificationDemonstration.php", { numDemo : numDemo, numChapitre : numChapitre },
function(data) {
$('#vuep').empty();
$('#vuep').html(data);
$('#vued').empty();
$('#vued').html(data);
//$('#questionsForm')[0].reset();
//location.reload();
});

@ -0,0 +1,64 @@
<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</h1>
<hr>
<label><b>TP n° : </b></label>
<input type="text" placeholder="Numéro du TP " id="tp" name='tp' required>
<label><b>Date début de tp </b></label>
<input type="date" id="debut" name='debut' required><br/><br/>
<label><b>Date fin de tp </b></label>
<input type="date" id="fin" name='fin' required><br/><br/><br/>
<div >
<input type="button" value="Valider" onclick="SubmitAjoutDate()" />
</div>
</div>
</form>
<div id="erreur">
</div>
<form method="get">
<input id="inp-questions" class="bouton" type="submit" name="action" value="Afficher les questions" hidden>
</form>
</body>
<script>
function SubmitAjoutDate() {
var tp = $('#tp').val();
var debut = $('#debut').val();
var fin = $('#fin').val();
alert('ok');
//alert(debut+'____'+fin)
$.get("Traitement/DateTp.php", { debut : debut, fin : fin , tp :tp },
function(data) {
$('#erreur').html(data);
});
}
</script>
</html>

@ -10,19 +10,34 @@
</head>
<?php
$tp_str = implode(",", array_keys($dVueQuestions));
require_once('BDD/SqliteDb.php');
$db = new SqliteDb();
$dateVerif = array();
//die($tp_str);
?>
<body id="vuep">
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top" id="mainNav">
<nav class="navbar navbar-expand-lg navbar-dark bg-dark" id="mainNav">
<div class="container">
<a class="navbar-brand js-scroll-trigger" href="#page-top">TP de Base De Données</a>
<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 class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
<?php foreach ($dVueQuestions as $tp => $question){ ?>
<?php foreach ($dVueQuestions as $tp => $question){
$numTp = str_replace('tp', '', $tp);
$q="SELECT * FROM dateTp WHERE numTp=?";
$prp=$db->prepare($q);
$prp->bindParam(1, $numTp);
$result = $prp->execute();
$row = $result->fetchArray();
$date = date('Ymd');
if($date < $row['dateDebut'] || $date>$row['dateFin']) {
$dateVerif[$tp] = 0;
continue;
} else $dateVerif[$tp] = 1;
?>
<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>
@ -35,12 +50,16 @@
</div>
</nav>
<header class="bg-primary text-white">
<div class="container text-center">
<h1>TP</h1>
<p class="lead"></p>
</div>
</header>
<div id='allp'>
<div style="font-weight: bold" id="Temps-Restant"></div>
<?php foreach ($dVueQuestions as $tp => $questions){ //die(print_r($questions));?>
<?php foreach ($dVueQuestions as $tp => $questions){ //die(print_r($questions));
if($dateVerif[$tp] == 0) continue; ?>
<section id="<?php echo 'o'.$tp; ?>">
<div class="container">
<div class="row">

@ -9,10 +9,10 @@
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/VuePrincipale.css">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top" id="mainNav">
<body id="vueqcm">
<nav class="navbar navbar-expand-lg navbar-dark bg-dark" id="mainNav">
<div class="container">
<a class="navbar-brand js-scroll-trigger" href="#page-top">TP de Base De Données</a>
<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>
@ -20,31 +20,38 @@
</div>
</nav>
<header class="bg-primary text-white">
d
<div class="container text-center">
<h1>QCM</h1>
<p class="lead"></p>
</div>
</header>
<div style="font-weight: bold" id="Temps-Restant"></div>
<section id="TP2">
<div class="container">
<div class="row">
<div class="col-lg-8 mx-auto">
<h2>TP 2</h2>
<h2>QCM</h2>
<form id="QCMForm" method="get" >
<?php $i=0; //shuffle($dVueQuestions);
foreach ($tabQCM as $qcm) {
?>
<p><?php $i++; echo $qcm->getNumQuestion() .'.'.$qcm->getQuestion(); ?> <br/>
<p><?php echo $qcm->getNumQuestion() .'.'.$qcm->getQuestion(); ?> <br/>
<?php
foreach ($qcm->getReponse() as $r ) { ?>
<input type="radio" id="textbox<?php echo $r->getNumReponse(); ?>" name="radiobox<?php echo $qcm->getNumQuestion();?>" value="<?php echo $r->getReponse();?>" style="margin-bottom:15px"> <?php echo $r->getNumReponse().'.'.$r->getReponse(); ?> <br/>
<?php
}
?>
<p><input class="SubmitQCMData" type="button" value="Valider" onclick="SubmitQCMData(<?php echo $qcm->getNumQuestion(); ?>)" ></p>
<p> <input class="SubmitQCMData" type="button" value="Valider" onclick="SubmitQCMData(<?php echo $qcm->getNumQuestion(); ?>)" >
<input class="monterQCM" type="button" value="Monter" onclick="MonterQCM(<?php echo $qcm->getNumQuestion(); ?>)" >
<input class="supprimerQCM" type="button" value="Supprimer" onclick="SupprimerQCM(<?php echo $qcm->getNumQuestion(); ?>);" >
<input class="descendreQCM" type="button" value="Descendre" onclick="DescendreQCM(<?php echo sizeof($tabQCM); ?>,<?php echo $qcm->getNumQuestion(); ?>)" >
<input class="modifierQCM" type="button" value="Modifier" onclick="ModifierQCM(<?php echo $qcm->getNumQuestion(); ?>);" ></p>
<div id="results<?php echo $qcm->getNumQuestion(); ?>">
<!-- les résultats s'affichent içi -->
</div><br/>
@ -75,6 +82,55 @@
//$('#QCMForm')[0].reset();
});
}
function MonterQCM(numQuestion) {
if(numQuestion > 1){
$.get("Traitement/OrdreQCM.php", { numQuestion : numQuestion },
function(data) {
//$('#questionsForm')[0].reset();
//$('#erreur').html(data);
$("#inp-questions").trigger("click");
//window.location.replace("index.php");
});
}
}
function DescendreQCM(nbQuestions,numQuestion) {
//alert(nbQuestions);
var des = 1;
if(numQuestion < nbQuestions){
$.get("Traitement/OrdreQCM.php", { des : des , numQuestion : numQuestion },
function(data) {
//$('#questionsForm')[0].reset();
$("#inp-questions").trigger("click");
//window.location.replace("index.php");
});
}
}
function SupprimerQCM(numQuestion)
{
var type = "qcm";
$.get("Traitement/Suppression.php", { numQuestion : numQuestion ,qcm : type},
function(data) {
//$('#results'+numDemo+numChapitre).html(data);
//$('#questionsForm')[0].reset();
$("#inp-questions").trigger("click");
});
}
function ModifierQCM(numQuestion) {
$.get("Traitement/ModificationQCM.php", { numQuestion : numQuestion },
function(data) {
$('#vueqcm').empty();
$('#vueqcm').html(data);
//$('#questionsForm')[0].reset();
//location.reload();
});
}
</script>
</body>

Loading…
Cancel
Save