À la fin de ce cours, tu seras capable de lire et d'afficher en PHP les informations contenues dans un fichier JSON représentant un quiz en utilisant une fonction séparée pour la gestion des données.
file_get_contents() et json_decode().Voici un exemple concret d'un quiz :
{
"code": "quiz_cg_01",
"nom": "Quiz de culture générale",
"style": "classique",
"couleur": "#FF5733",
"imageFond": "fond_quiz.png",
"questions": [
{
"question": "Quelle est la capitale de la Belgique ?",
"imageFondQuestion": "bruxelles.png",
"imageFondReponse": "bruxelles2.png",
"propositions": [
{ "texte": "Bruxelles", "correct": true },
{ "texte": "Liège", "correct": false },
{ "texte": "Anvers", "correct": false }
]
},
{
"question": "Quelle langue est principalement parlée en Argentine ?",
"imageFondReponse": "bruxelles.png",
"propositions": [
{ "texte": "Espagnol", "correct": true },
{ "texte": "Portugais", "correct": false },
{ "texte": "Italien", "correct": false },
{ "texte": "Anglais", "correct": false, "mystere": true }
]
}
]
}
Crée un fichier nommé data.php avec une fonction spécifique pour lire le fichier JSON :
<?php
function lireQuiz($nomFichier) {
// Lire le contenu du fichier JSON
$jsonData = file_get_contents($nomFichier);
// Décoder le JSON vers un tableau associatif PHP
$quiz = json_decode($jsonData, true);
return $quiz;
}
?>
Voici comment utiliser cette fonction dans ton fichier principal :
<?php
include 'data.php';
$quiz = lireQuiz("quiz.json");
// Afficher le nom du quiz
echo "<h1>" . $quiz["nom"] . "</h1>";
// Parcourir les questions
echo "<ul>";
foreach ($quiz["questions"] as $question) {
echo "<li><strong>" . $question["question"] . "</strong><ul>";
// Afficher les propositions pour chaque question
foreach ($question["propositions"] as $prop) {
echo "<li>" . $prop["texte"];
// Indiquer si la réponse est correcte
if ($prop["correct"]) {
echo " <strong>(bonne réponse)</strong>";
}
echo "</li>";
}
echo "</ul></li>";
}
echo "</ul>";
?>
file_get_contents() pour lire un fichier et json_decode() pour transformer du JSON en tableau PHP exploitable.foreach) pour parcourir les données décodées.Pour aller plus loin, tu pourrais laisser les utilisateurs choisir le quiz auquel il veut répondre. Pour ce faire, il y a 2 possibilités: