| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
Snesman Bénévole SV


Inscrit le: Apr 30, 2006 Messages: 1838
|
Posté le: 01 Sep 2007, 17:07 Sujet du message: Bout de code embêtant |
|
|
Bonjour,
Je bosse sur la modification du module Nukequiz. Et je me trouve face à un bout de code qui me pourrit la vie.
Le voici.
Code original :
| Code: | $resultc = $db->sql_query("SELECT optionText FROM ".$prefix."_nquiz_answers WHERE (quesid='$quesid') AND (orderid='$answer')");
list($answerText) = $db->sql_fetchrow($resultc); |
Code Modifié :
| Code: | $resultc = $db->sql_query("SELECT optionText FROM ".$prefix."_nquiz_answers WHERE (quesid='$quesid') AND (orderid='$answer1') OR (orderid='$answer2') OR (orderid='$answer3') OR (orderid='$answer4') OR (orderid='$answer5')");
list($answerText1, $answerText2, $answerText3, $answerText4, $answerText5) = $db->sql_fetchrow($resultc); |
Mon problème est le suivant. Seul answerText1 est disponible, les autres sont vides. E pour continuer mes modifications, il faut que je puisse disposer des 5 answerText.
Par exemple, dans ma table, $answer1 et $answer2 sont remplis, quand je fais ma requête sql, il me les montre. Mais dans ma liste seul answerText1 est rempli. Commen faire pour qu'il me remplisse autant de answerText qu'il y a de réponse à la requête. |
|
|
|
| Revenir en haut de page |
|
Snesman Bénévole SV


Inscrit le: Apr 30, 2006 Messages: 1838
|
Posté le: 02 Sep 2007, 21:22 Sujet du message: Re : Bout de code embêtant |
|
|
Bonjour,
Pas d'idées ? Malheureusement je ne peux pas fournir l'archive, j'ai des soucis avec certaines actions internet tel l'upload. |
|
|
|
| Revenir en haut de page |
|
gameover Régulier


Inscrit le: Sep 11, 2006 Messages: 170 Localisation: Liège - Belgique
|
Posté le: 02 Sep 2007, 23:10 Sujet du message: Re : Bout de code embêtant |
|
|
Salut Snesman,
C'est tout à fait normal ton problème. Seul OptionText est renvoyé dans $answerTest1 car il n'y a qu'un champ sélecté. Dans ton select si tu avais plusieurs champs, à ce moment çà remplirait les ânswerText2 etc...par champ dans le select tu as autant de answerTextx....
Par contre je comprend pas trop ce que tu essaye de faire ???
Ceci list($answerText1) = $db->sql_fetchrow($resultc); va te ramener ligne par ligne le contenu du champ optiontext.
J'espère que çà suffira sinon n'hasite pas  |
|
|
|
| Revenir en haut de page |
|
Snesman Bénévole SV


Inscrit le: Apr 30, 2006 Messages: 1838
|
Posté le: 02 Sep 2007, 23:21 Sujet du message: Re : Bout de code embêtant |
|
|
Bonjour,
Bon j'explique un peu pourquoi je modifies ce module. En fait à l'origine c'est un module pour des quizz. Mais j'en ai besoin pour des QCM. Or par définition un quizz n'a pas plusieurs réponses. Et là je bosses sur la modification vers un module de QCM à proprement parler.
Les bouts de code ici présents correspondent à la récupération de la ou les réponses pour la question de façon à comparer avec les réponses entrées par l'utilisateur et lui dire si c'est bon ou non.
Donc si j'ai bien compris tes explications, mon select devrait avoir autant de optiontext que de answertext. |
|
|
|
| Revenir en haut de page |
|
stefvar Administrateur


Inscrit le: Jul 06, 2005 Messages: 8183 Localisation: France Corse Ventiseri
|
Posté le: 03 Sep 2007, 8:38 Sujet du message: Re : Bout de code embêtant |
|
|
Bonjour,
| Citation: | | Donc si j'ai bien compris tes explications, mon select devrait avoir autant de optiontext que de answertext. |
C'est tout à fait cela comme te le précise Pascal. Ton code "SELECT optionText FROM" ne te retournera que "optionText" puisqu'il est le seul a être sélectionné.
Si cette table ne contient pas trop de champ et/ou que quasiment tous te sont utiles pour le résultat, tu peux mettre "SELECT * FROM". Cela aura pour effet de prendre tous les champs disponibles. Sinon, inclut entre SELECT et FROM tous les noms des champs qui te sont nécessaires séparés par une virgule . _________________ Avant de poster, lire la charte du forum, merci. |
|
|
|
| Revenir en haut de page |
|
|