|
phrincon 2
| Posté : 26-11-2006 18:47
Bonjour,
J'ai un problème de débutant qui m'empèche d'avancer :
Voilà, je suis en train de réaliser une zone d'administration de QCM. Mais comme je ne connais rien ou très peu à la programmation PHP, je crée l'application sur Dreamweaver 8.
Ma situation :
J'ai deux tables :
1 table questions
1 table reponses
À une question de la table "questions" correspondent plusieurs réponses de la table "reponses".tout cela relié par l'ID (clés primaire et secondaire) Un classique !
Mon problème :
Je n'arrive pas à afficher ma question et en dessous les réponses correspondantes (qui sont d'un nombre variable).
Ma requète :
SELECT q.id, q.question, r.num, r.reponse
FROM question AS q, reponse AS r
WHERE q.id=r.id
AND q.id='%variableURL%'
Pour chaque réponse, j'ai la question qui est répétée.je voudrais la question en un seul exemplaire et les réponses au dessous.
Je ne sais pas où il faut que j'agisse, sur ma requète, sur le code php ? Et dans ce dernier cas quel code ? je vous rappelle que je ne suis pas dévellopeur, mais un pauvre gars bloqué d'un rien.
Je vous remercie d'avance pour vos réponses et tuyaux.
|  Profil
|
|
Jireck 8502
| Posté : 27-11-2006 09:31
Citation : phrincon
Bonjour,
J'ai un problème de débutant qui m'empèche d'avancer :
Voilà, je suis en train de réaliser une zone d'administration de QCM. Mais comme je ne connais rien ou très peu à la programmation PHP, je crée l'application sur Dreamweaver 8.
Ma situation :
J'ai deux tables :
1 table questions
1 table reponses
À une question de la table "questions" correspondent plusieurs réponses de la table "reponses".tout cela relié par l'ID (clés primaire et secondaire) Un classique !
En plus classique, moi, je mettrais une tables avec
Id, Question, Reponse,
Mon problème :
Je n'arrive pas à afficher ma question et en dessous les réponses correspondantes (qui sont d'un nombre variable).
Ma requète :
SELECT q.id, q.question, r.num, r.reponse
FROM question AS q, reponse AS r
WHERE q.id=r.id
AND q.id='%variableURL%'
Pour chaque réponse, j'ai la question qui est répétée.je voudrais la question en un seul exemplaire et les réponses au dessous.
Je ne sais pas où il faut que j'agisse, sur ma requète, sur le code php ? Et dans ce dernier cas quel code ? je vous rappelle que je ne suis pas dévellopeur, mais un pauvre gars bloqué d'un rien.
Je vous remercie d'avance pour vos réponses et tuyaux.
Sinon regarde du coté de DISTINCT |  Profil
|
|
mrotta 423
| Posté : 27-11-2006 20:55
Ta requête est bonne, mais elle ne peut que retourner plusieurs lignes, une par réponse.
Donc il n'y a pas de solution facile. Le mieux est de faire deux requêtes, une qui sort la question, une les réponses correspondantes.
Tu as aussi la possibilité de jouer sur le code et de n'afficher qu'une fois la question... |  Profil
|
|
jpb 2791
| Posté : 27-11-2006 22:36
salut
une solution jouant sur l'affichage du résultat sort la variable représentant l'affichage de la question du while
$total_result =SELECT q.id, q.question, r.num, r.reponse
FROM question AS q, reponse AS r
WHERE q.id=r.id
AND q.id='%variableURL%'
$total_found = @mysql_num_rows($total_result);
while ($row = mysql_fetch_array($total_result))
{
$question=$row['question'];
$num=$row['num'];
$reponse=$row['reponse'];
$affreponse.= $reponse<br/>
}
echo" $question : <br/>$affreponse"; //affichage dans le texte de la question et de ses réponses
|  Profil www
|
|
phrincon 2
| Posté : 28-11-2006 07:13
Meric pour vos poistes... J'explore tout cela et vous raconte la suite... |  Profil
|
|
Boris 3430
| Posté : 28-11-2006 18:17
petite optimisation au passage : utilise mysql_fetch_assoc plutôt que _array, ca gagne de la mémoire et du temps. :-p (Remarque valable pour tout développement. mysql_fetch_array construit le tableau avec les indices ET les mot-clefs. mysql_fetch_assoc ne fait que les mots-clefs, tandi que mysql_fetch_row ne fait que les indices. Utilisez l'une ou l'autre en fonction de votre script.) |  Profil E-mail www
|
|