le 18/10/2007 à 17:08
Bloqué sur la création d'un QCM depuis des semaines
Bonjour,
Voilà plusieurs mois que je cherche à créer un QCM pour mon site.
J'ai suivi plusieurs tutos, regardé les forums etc... mais rien y fait je reste toujours bloqué.
Voila mon code :
Les question sont dans la base de données.
Elle est faite comme ceci :
Ma BDD QCM
Quand je consulte la source d'un fichier html le résultat donne ceci :
Mon problème est que je ne sais pas comment vérifier si la réponse est bonne en fonction du numéro de la question.
Car le input ne va poster que le numéro de la réponse et pas le numéro de la question.
Je pensais m'orienter vers ceci pour chacune des réponses possible :
Ma question est :
Comment savoir qu'il s'agit de la question 1 et donc pouvoir mettre le bon $_POST['quest??']
J'espère avoir était précis dans mes explications.
Merci d'avance si quelqu'un pouvait me sortir de cette galère :( .
Voilà plusieurs mois que je cherche à créer un QCM pour mon site.
J'ai suivi plusieurs tutos, regardé les forums etc... mais rien y fait je reste toujours bloqué.
Voila mon code :
<form method="post" id="qcm" action="<?php echo $_SERVER['REQUEST_URI'];?>">
<?php
$num_question = 1;
include('include/cnx_mysql.php');
$sql = 'SELECT * FROM qcm ORDER BY id ASC limit 0,10';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while ($data = mysql_fetch_assoc($req)) {
$num_rep = $data['num_rep'];
echo '<p class="question_qcm">'.$num_question.') '.$data['question'].'</p>';
?>
<br />
<div class="reponses_qcm">
<p class="reponses_qcm">
<ul>
<li><input type="radio" name="quest<?php echo $data['id'];?>" value="rep1" /><?php echo $data['rep1'];?></li>
<li><input type="radio" name="quest<?php echo $data['id'];?>" value="rep2" /><?php echo $data['rep2'];?></li>
<li><input type="radio" name="quest<?php echo $data['id'];?>" value="rep3" /><?php echo $data['rep3'];?></li>
<li><input type="radio" name="quest<?php echo $data['id'];?>" value="rep4" /><?php echo $data['rep4'];?></li>
</ul>
</p>
</div>
<?php
$num_question++;
;}
?>
<input class="send" type="submit" value="Résultat" /><br />
</form>
Les question sont dans la base de données.
Elle est faite comme ceci :
Ma BDD QCM
Quand je consulte la source d'un fichier html le résultat donne ceci :
<form method="post" id="qcm" action="/jsp33127/qcm.html">
<p class="question_qcm">1) Combien font 11x2 ?</p><br />
<div class="reponses_qcm">
<p class="reponses_qcm">
<ul>
<li><input type="radio" name="quest1" value="rep1" />21</li>
<li><input type="radio" name="quest1" value="rep2" />13</li>
<li><input type="radio" name="quest1" value="rep3" />22</li>
<li><input type="radio" name="quest1" value="rep4" />44</li>
</ul>
</p>
</div>
<p class="question_qcm">2) Combien font 152-84 ?</p><br />
<div class="reponses_qcm">
<p class="reponses_qcm">
<ul>
<li><input type="radio" name="quest3" value="rep1" />75</li>
<li><input type="radio" name="quest3" value="rep2" />68</li>
<li><input type="radio" name="quest3" value="rep3" />56</li>
<li><input type="radio" name="quest3" value="rep4" />61</li>
</ul>
</p>
</div>
<input class="send" type="submit" value="Résultat" /><br />
</form>
Mon problème est que je ne sais pas comment vérifier si la réponse est bonne en fonction du numéro de la question.
Car le input ne va poster que le numéro de la réponse et pas le numéro de la question.
Je pensais m'orienter vers ceci pour chacune des réponses possible :
<?php
if (isset($_POST['quest1']))
{
if ($_POST['quest1'] == "rep1")
{
// la réponse est juste
}
else
{
// la réponse est fausse
}
}
?>
Ma question est :
Comment savoir qu'il s'agit de la question 1 et donc pouvoir mettre le bon $_POST['quest??']
J'espère avoir était précis dans mes explications.
Merci d'avance si quelqu'un pouvait me sortir de cette galère :( .