Bonjour,

Etant débutant j'ai quelque probleme avec ma requete de jointure et d'affichage.

Voila déjà les tables:

theme : **
- Id
- Nom_theme
- nbr_topic
- nbr_mess

topic : **
- Id
- Nom_topic
- ref_theme
- nbr_mess


Mon but c'est de pouvoir afficher ceci:

Theme 1:

liste des topic


Theme 2:
liste des topic

etc etc

J'ai donc penser à utiliser deux boucles imbriquées dont voici le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$reponse = mysql_query('SELECT Id, Nom_theme FROM theme  ORDER BY Id') OR die(mysql_error());
$reponsebis = mysql_query('SELECT * FROM topic JOIN theme ON topic.ref_theme = theme.Id   ORDER BY Nom_topic') OR die(mysql_error());

while ($donnees = mysql_fetch_array($reponse))
{


 

        echo '<br/><br/><strong>- '.$donnees['Nom_theme'].' </strong> <br/>';
		
		$reponsebis = mysql_query('SELECT * FROM topic JOIN theme ON topic.ref_theme = theme.Id  WHERE topic.ref_theme = ??? ORDER BY topic.Id') OR die(mysql_error());
		
		while ($donneesbis = mysql_fetch_array($reponsebis))
{

		echo '- '.$donneesbis['Nom_topic'].' <br/>';
		
 }
  
	}

Voila , mon problème arrive au niveau des ???. En réalité si j'enlève le where, il me met la totalité des topics dans chaque thème. Si je met une valeur fixe par exemple 1 ( qui correspond a l'Id du premier thème ) , il me met partout les topics du thème avec l'Id 1.

J'ai donc pensé à mettre une variable, cependant ca ne marche pas. Apparemment il refuse les variables ou alors ma syntaxe n'etait pas bonne.

J'ai pensé que l'idéal serait de mettre $donnees['Id'] à la place des ???. Cependant ça cause une erreur. Même en stockant cette valeur dans une autre variable genre $i, quand je met $i à la place des ??? j'ai également une erreur..

j'avoue ne plus savoir quoi faire.

Mon algo est sans doute faux, je ne sais pas.

need help, merci d'avance.



Cordialement,

Archalia