|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() |
Bonjour
j'affiche une questions et des boutons radios qui sont les reponses probables, le user doit choisir la bonne reponse, et soummettre vers la fin... les questions et les reponses, je les prends d'une base de données : Code :
$sql7="SELECT id, id*0 + rand() AS ordre, question, propo1, propo2, propo3, propo4, coef, categorie FROM quiz WHERE categorie LIKE '%$catego%' ORDER BY ordre limit 0, $nbquestion"; $res4=mysql_db_query($db, $sql7); // afficher les questions echo "<p class='titre'>"; echo "Voici la liste des questions<br>"; echo "</p>\n"; while($row = mysql_fetch_Array($res4)){ echo "<br>\n"; echo "<b>"; echo "<span class='soustitre'>"; echo "$row[question]"; echo "</span>\n"; echo "</b>"; if($row[coef]>1){ echo "<font size=2>"; echo " (coef. $row[coef])"; echo "</font>"; } echo "<br>\n"; echo "<input type=\"radio\" name=\"$row[id]\" value=\"$row[propo1]\">"; echo "$row[propo1]"; echo "<br>\n"; echo "<input type=\"radio\" name=\"$row[id]\" value=\"$row[propo2]\">"; echo "$row[propo2]"; echo "<br>\n"; if($row[propo3]==TRUE){ echo "<input type=\"radio\" name=\"$row[id]\" value=\"$row[propo3]\">"; echo "$row[propo3]"; echo "<br>\n"; } echo "<input type=\"hidden\" name=\"idrow[]\" value=\"$row[id]\">"; } // Envoyer le formulaire print ("<p><center><input type=\"submit\" name=\"Valider\" value=\"Soumettre les resultats\"></center>\n"); // Fermer le formulaire print ("</form>\n"); Code :
for ($i = 1; $i < count($idrow); $i++) { echo "<br>"; // Reafficher les questions et les réponses $sql = "Select question, reponse, id, coef FROM quiz WHERE id=$idrow[$i]"; $res = mysql_db_query($db, $sql); $row = mysql_fetch_array($res); print "Question : "; print "<b>"; print $row["question"]; print "</b>"; print "<br>"; print "Vous avez répondu : "; print "<b><i>"; print $_POST[$idrow[$i]]; print "</b></i>"; print "<br>"; // Vérifier si la réponse est correcte et afficher le message de félicitation // si la réponse du participant est juste if ($_POST[$idrow[$i]] == $row["reponse"]) { print "Bravo c'est la bonne réponse !"; // Comptabiliser le point attribueé à la bonne réponse $total = $total + $row["coef"]; } // Vérifier si la réponse est correcte et afficher la bonne réponse en cas // de mauvaise réponse du participant if ($_POST[$idrow[$i]] != $row["reponse"]) { print "La bonne réponse est : "; print "<b>"; print $row["reponse"]; print "</b>"; } print "<br>"; } |
|
|
|
|
|
#2 |
|
Membre à l'essai
![]() Date d'inscription: avril 2009
Localisation: 69
Messages: 40
|
Alors si ton programme ne boucle pas une première fois le meilleur moyen avant de tester un programme en entier est de mettre un
Code :
echo "test";
Je fonctionne ainsi et sa me permet bien souvent de trouver seul des réponses à mes problèmes A bon entendeur Salut
|
|
|
|
|
|
#3 |
|
Expert Confirmé
![]() Date d'inscription: mai 2002
Localisation: Auvergne
Messages: 1 567
|
Bonjour,
Dans ton champ hidden tu mets name à idrow[], celui ci sera forcement vide Dans ton cas, le champ hidden ne sert à rien ... utilises juste les boutons radios. Une fois ton code fait et si tu as encore des problèmes, nous regarderons bon courage
__________________
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran) |
|
|
|
|
|
#4 |
|
Membre régulier
![]() |
@French, mais je lui donne comme value, le $row[id] à mon champ hidden, je pensais que ça devrait suffir...
@DjLow, oui, j'ai fais pas mal de tests pour arrivre à résoudre ça... Et puisque j'etais convaincu que ce c'etait un truc banale que je n'ai pas arrivé à voir, je me suis decidé de refaire le tout, autrement, voila comment j'ai procedé .... listing: Code :
while($row = mysql_fetch_Array($res4)){ echo "<fieldset>"; echo "<legend> $row[question] </legend>"; echo "<input type=\"radio\" name='rep".$row['id']."' value=\"$row[propo1]\">"; echo "$row[propo1]"; echo "<br>\n"; echo "<input type=\"radio\" name='rep".$row['id']."' value=\"$row[propo2]\">"; echo "$row[propo2]"; echo "<br>\n"; if($row[propo3]==TRUE){ echo "<input type=\"radio\" name='rep".$row['id']."' value=\"$row[propo3]\">"; echo "$row[propo3]"; echo "<br>\n"; } if($row[propo4]==TRUE){ echo "<input type=\"radio\" name='rep".$row['id']."' value=\"$row[propo4]\">"; echo "$row[propo4]"; echo "<br>\n"; } echo "<input type=\"hidden\" name=\"idrow[]\" value=\"$row[id]\">"; echo "</fieldset>"; } Code :
foreach($_POST['idrow'] as $id) { echo "<br>"; // Reafficher les questions et les réponses $sql = "Select question, reponse, id, coef, ps_reponse FROM quiz WHERE id=".intval($id); $res = mysql_db_query($db, $sql); $row = mysql_fetch_array($res); print "Question : "; print "<b>"; print $row["question"]; print "</b>"; print "<br>"; print "Vous avez répondu : "; print "<b><i>"; //print htmlspecialchars($_POST['rep'.$id]); print stripcslashes($_POST['rep'.$id]); print "</b></i>"; print "<br>"; } merci pour votre temps. |
|
|
|
|
|
![]() |
||
recuperation de champs Radio et comparaison avec BD
|
||
| Outils de la discussion | |
|
|