You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

215 lines
8.5 KiB

<?php
require_once('../BDD/SqliteDb.php');
$db = new SqliteDb('o');
if (isset($_GET['qcm'])){
$numQcmSuiv = $_GET['numQuestion']+1;
$sqliteQuery = $db->prepare('SELECT count(*) FROM QcmQuestion WHERE numQcm=?');
$sqliteQuery->bindParam(1, $_GET['numQcm']);
$result = $sqliteQuery->execute();
$nbQuestionsRow = $result->fetchArray();
$sqliteQuery = $db->prepare('DELETE FROM QcmQuestion WHERE numQuestion= ? AND numQcm=?');
$sqliteQuery->bindParam(1, $_GET['numQuestion']);
$sqliteQuery->bindParam(2, $_GET['numQcm']);
$result = $sqliteQuery->execute();
for( $iSuiv = $numQcmSuiv, $j=$_GET['numQuestion'] ; $iSuiv <= $nbQuestionsRow['count(*)'] ; $iSuiv++ , $j++ ){
$sqliteQuery = $db->prepare('UPDATE QcmQuestion SET numQuestion=? WHERE numQuestion=? AND numQcm=? ');
$sqliteQuery->bindParam(1, $j);
$sqliteQuery->bindParam(2, $iSuiv);
$sqliteQuery->bindParam(3, $_GET['numQcm']);
$result = $sqliteQuery->execute();
}
//même chose pour qcmreponse
$sqliteQuery = $db->prepare('DELETE FROM QcmReponse WHERE numQuestion= ? AND numQcm = ?');
$sqliteQuery->bindParam(1, $_GET['numQuestion']);
$sqliteQuery->bindParam(2, $_GET['numQcm']);
$result = $sqliteQuery->execute();
for( $iSuiv = $numQcmSuiv, $j=$_GET['numQuestion'] ; $iSuiv <= $nbQuestionsRow['count(*)'] ; $iSuiv++ , $j++ ){
$sqliteQuery = $db->prepare('UPDATE QcmReponse SET numQuestion=? WHERE numQuestion=? AND numQcm = ? ');
$sqliteQuery->bindParam(1, $j);
$sqliteQuery->bindParam(2, $iSuiv);
$sqliteQuery->bindParam(3, $_GET['numQcm']);
$result = $sqliteQuery->execute();
}
//même chose pour QcmCorrection
$sqliteQuery = $db->prepare('DELETE FROM QcmCorrection WHERE numQuestion= ? AND numQcm=?');
$sqliteQuery->bindParam(1, $_GET['numQuestion']);
$sqliteQuery->bindParam(2, $_GET['numQcm']);
$result = $sqliteQuery->execute();
for( $iSuiv = $numQcmSuiv, $j=$_GET['numQuestion'] ; $iSuiv <= $nbQuestionsRow['count(*)'] ; $iSuiv++ , $j++ ){
$sqliteQuery = $db->prepare('UPDATE QcmCorrection SET numQuestion=? WHERE numQuestion=? AND numQcm=? ');
$sqliteQuery->bindParam(1, $j);
$sqliteQuery->bindParam(2, $iSuiv);
$sqliteQuery->bindParam(3, $_GET['numQcm']);
$result = $sqliteQuery->execute();
}
if($nbQuestionsRow['count(*)'] == 1){
$sqliteQuery = $db->prepare('DELETE FROM Qcm WHERE numQcm=?');
$sqliteQuery->bindParam(1, $_GET['numQcm']);
$result = $sqliteQuery->execute();
$sqliteQuery = $db->prepare('DELETE FROM QcmSauvegarde WHERE numQcm=?');
$sqliteQuery->bindParam(1, $_GET['numQcm']);
$result = $sqliteQuery->execute();
$sqliteQuery = $db->prepare('DELETE FROM Notes WHERE numQcm=?');
$sqliteQuery->bindParam(1, $_GET['numQcm']);
$result = $sqliteQuery->execute();
$sqliteQuery = $db->prepare('DELETE FROM NotesParQuestion WHERE numQcm=?');
$sqliteQuery->bindParam(1, $_GET['numQcm']);
$result = $sqliteQuery->execute();
}
}
else if(isset($_GET['demo'])){
$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 Demonstration WHERE numDemo= ? AND chapitre=? ');
$sqliteQuery->bindParam(1, $_GET['numDemo']);
$sqliteQuery->bindParam(2, $_GET['numChapitre']);
$result = $sqliteQuery->execute();
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['numChapitre']);
$result = $sqliteQuery->execute();
}
}
else {
$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']);
$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']);
$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