1 pièce(s) jointe(s)
Lecture et affichage de données
Bonjour,
Je souhaite créer un quizz dans lequel l'utilisateur, après s'être connecté, choisie la difficulté et commence. Je débute en programmation. Je suis en train de programmer la partie "quizz". Alors voilà, j'ai une base de données dans laquelle j'ai deux tables : une table nommée "answers", et une autre nommée "questions". Dans la table "answers" se trouvent les champs:"id", "id_question", "answer" ( affiche la réponse), "validate" (soit à 0 soit à 1 pour dire si c'est une bonne ou mauvaise réponse) et dans la table "questions": "id", "question".
Je souhaite afficher les questions aléatoirement. Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
<?php
require_once 'inc/db.php';
require_once 'inc/functions.php';
logged_only();
require 'inc/header.php';
$num_question = 1;
$vie = 3;
$score = 0;
// on récupère les informations de la base de données
$req = $pdo->query('SELECT *
FROM answers, questions
WHERE answers.id_question = questions.id /* A cette ligne on joint les 2 tables (cf. JOIN) */
ORDER BY RAND()
LIMIT 0,2');
// on affiche le résultat
$data = array($req->fetch());
foreach($data as $answer){
echo $data->answer;
}
?>
<br><br><br><br>
<form class="form-horizontal">
<fieldset>
<legend><p align="center">Question <?php echo $num_question?></p></legend>
<div class="form-group">
<p><?php echo $data->$num_question; ?></p> <!-- Ici on affiche le champ 'question' qui se trouve dans $data -->
<div class="col-lg-10">
<div class="radio">
<label>
<input name="optionsRadios" id="optionsRadios1" value="option1" checked="" type="radio">
<?php echo $data->$answer; ?>
</label>
</div>
<div class="radio">
<label>
<input name="optionsRadios" id="optionsRadios2" value="option2" type="radio">
<?php echo $data->$answer; ?>
</label>
</div>
<div class="radio">
<label>
<input name="optionsRadios" id="optionsRadios2" value="option2" type="radio">
<?php echo $data->$answer; ?>
</label>
</div>
<div class="radio">
<label>
<input name="optionsRadios" id="optionsRadios2" value="option2" type="radio">
<?php echo $data->$answer; ?>
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-lg-10 col-lg-offset-2">
<button type="submit" class="btn btn-primary">Valider</button>
<button type="reset" class="btn btn-default">Passer</button>
</div>
</div>
</fieldset>
</form>
<?php require 'inc/footer.php'; ?> |
Voici ce qui se passe:
Pièce jointe 260239
Voilà. J'ai conscience que pleins de choses ne vont pas là-dedans mais comme je vous l'ai dit je débute.
Je ne comprends pas comment afficher toutes les propositions de réponses aux questions. De plus, comment faire si à une question il n'y a que 2 propositions de réponses (comment en afficher que 2 ?).
Merci.