diff --git a/api.php b/api.php index fabf305..8310e7e 100644 --- a/api.php +++ b/api.php @@ -77,11 +77,83 @@ break; - + + case 'decomposer_ensemble': + + // Récupération de l'ID de l'ensemble et du thème depuis l'URL ou autrement + $ensembleId = isset($_GET['ensemble_id']) ? intval($_GET['ensemble_id']) : ''; + + // Vérification de la validité de l'ID de l'ensemble + if (!empty($ensembleId)) { + // Préparation de la requête SQL pour obtenir les informations sur l'ensemble + $sqlEnsemble = 'SELECT * FROM ensembles WHERE id = ?'; + $stmtEnsemble = $conn->prepare($sqlEnsemble); + $stmtEnsemble->bind_param('i', $ensembleId); + $stmtEnsemble->execute(); + $resultEnsemble = $stmtEnsemble->get_result(); + $ensemble = $resultEnsemble->fetch_assoc(); + + if ($ensemble && $ensemble['valide'] == true) { + + // Préparation de la requête SQL pour obtenir les informations sur les exercices sélectionnés + $sqlDocu = "SELECT * FROM documents WHERE ensemble_id=?"; + $stmtDocu = $conn->prepare($sqlDocu); + $stmtDocu->bind_param('i', $ensembleId); + $stmtDocu->execute(); + $resultDocu = $stmtDocu->get_result(); + + $ensemble["documents"] = array(); + + while ($doc = $resultDocu->fetch_assoc()) { + + switch ($doc['type']) { + case 1: + + // on va maintenant prendre chaque exercice un par un + // et afficher les bonnes infos : + + $sqlExos = "SELECT * FROM exercices WHERE document_id=?"; + $stmtExos = $conn->prepare($sqlExos); + + $stmtExos->bind_param('i', $doc["id"]); + $stmtExos->execute(); + $resultExos = $stmtExos->get_result(); + $doc["exercices"] = array(); + + while ($exo = $resultExos->fetch_assoc()) { + array_push($doc["exercices"],$exo); + } + + array_push($ensemble["documents"],$doc); + + + + break; + } + + } + + echo(json_encode(["status"=>"1","msg"=>$ensemble])); + + + }else{ + echo(json_encode(['status'=> '2','msg'=> "Vous devez spécifier un indetifiant d'ensemble valide dans votre requête."])); + + } + + }else{ + echo(json_encode(['status'=> '2','msg'=> "Vous devez spécifier un indetifiant d'ensemble dans votre requête."])); + } + + break; + default: echo(json_encode(['status'=> '2','msg'=> "Ce point d'arrivée n'existe pas dans l'api."])); break; + + + } diff --git a/bdd.php b/bdd.php index e7ffbca..56a75a8 100644 --- a/bdd.php +++ b/bdd.php @@ -146,10 +146,11 @@ function saveFilesFromPost($postData,$id_ensemble) { if($safe_type == 1){ $exercices = json_decode($postData['exercices'],true); + $document_id = mysqli_insert_id($conn); foreach ($exercices as $key => $ex) { // premièrement, on enregistre l'exercice - $sql= 'INSERT INTO exercices (commentaire_auteur,ensemble_id,duree) VALUES(?,?,?)'; - $conn->execute_query($sql,array($ex["commentaire_exo"],$id_ensemble,intval($ex["duree"]))); + $sql= 'INSERT INTO exercices (commentaire_auteur,ensemble_id,document_id,duree) VALUES(?,?,?,?)'; + $conn->execute_query($sql,array($ex["commentaire_exo"],$id_ensemble,$document_id,intval($ex["duree"]))); $id_exo = mysqli_insert_id($conn); diff --git a/ens.php b/ens.php index d78ba32..fc9579f 100644 --- a/ens.php +++ b/ens.php @@ -1,81 +1,47 @@ - + + + + + Ensemble de documents + + + + + + + \ No newline at end of file diff --git a/init_db.php b/init_db.php index 25f057a..a4c85f9 100644 --- a/init_db.php +++ b/init_db.php @@ -20,7 +20,8 @@ $sql = " CREATE TABLE IF NOT EXISTS ensembles ( id INT AUTO_INCREMENT PRIMARY KEY, commentaire_auteur TEXT, - valide BOOLEAN NOT NULL DEFAULT FALSE + valide BOOLEAN NOT NULL DEFAULT FALSE, + corrige_inclu BOOLEAN NOT NULL DEFAULT FALSE ); CREATE TABLE IF NOT EXISTS documents ( @@ -39,8 +40,11 @@ $sql = " id INT AUTO_INCREMENT PRIMARY KEY, commentaire_auteur TEXT, ensemble_id INT, + document_id INT, duree INT, - FOREIGN KEY (ensemble_id) REFERENCES ensembles(id) + FOREIGN KEY (ensemble_id) REFERENCES ensembles(id), + FOREIGN KEY (document_id) REFERENCES documents(id) + ); diff --git a/readme.md b/readme.md index 267697b..91fd9db 100644 --- a/readme.md +++ b/readme.md @@ -26,8 +26,9 @@ D'autres fonctionnalités seront ajoutées petit à petit. (si vous avez des sug | id | INT | AUTO_INCREMENT, PRIMARY KEY | | commentaire_auteur | TEXT | | | ensemble_id | INT | FOREIGN KEY (ensemble_id) REFERENCES ensembles(id) | +| document_id | INT | FOREIGN KEY (document_id) REFERENCES documents(id) | duree | INT | | -(la durée est en secondes) +(la durée est en minutes) ### Table: ensembles diff --git a/televerser.php b/televerser.php index 918f229..1720b58 100644 --- a/televerser.php +++ b/televerser.php @@ -50,7 +50,7 @@ function uploadFiles() { formData.append("corrige_inclu",document.getElementById("corrige_checkbox").value); - let ex = [{duree:"10",themes:["algèbre","analyse"],commentaire_exo:"cci est un commenataire"},{duree:"15",themes:["elec analogique"],commentaire_exo:""}]; + let ex = [{duree:"10",themes:["algèbre","analyse"],commentaire_exo:"ceci est un commenataire"},{duree:"15",themes:["elec analogique"],commentaire_exo:""}]; formData.append("exercices",JSON.stringify(ex))