logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
30 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 109 447 347

  • Nb. de membres 8 696
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Le coin des codeurs »» Problème affichage requête php/Mysql

Problème affichage requête php/Mysql#21555

5Contributeur(s)
jpbphrinconBorisJireckmrotta
3 Modérateur(s)
developpeurjpbJireck
phrincon phrinconicon_post
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.
Jireck Jireckicon_post
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
mrotta mrottaicon_post
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...
jpb jpbicon_post
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

phrincon phrinconicon_post
Meric pour vos poistes... J'explore tout cela et vous raconte la suite... :-)
Boris Borisicon_post
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.)