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