Page 1 sur 1

Problème de répétiton d'une variable venant d'une base dans

Posté : 12 août 2007, 12:45
par emmiedax
Bonjour à tous et merci de votre temps.

J'ai fait un menu. Quand on clique sur l'un des thèmes, une fonction affiche l'ensemble des pays dans lesquels ont trouvé un articles sur ce themes.

Seulement voilà, si j'ai plusieurs articles venant d'un pays sur un même theme, alors dans ma barre de navigation, le nom du pays s'affiche autant de fois qu'il y a d'articles.

Que puis je faire pour que le nom du pays ne s'affiche qu'une seule fois par themes ?

Voici le code :

http://www.july-robert.com
C'est la partie à droite de la carte.
	
//____________________________________________________________________________CHOIX PAR THEME__________________________________________________________________________________
function choixThemes($langue){
	$titre = "titre_".$langue;
	$texte = "texte_".$langue;
	$adresseDictionnaire = "textes_".$langue.".inc.php";
	require($adresseDictionnaire);
	$selection_themes = "SELECT id,$titre,page FROM themes WHERE id!=1 AND menu=0";
	$requete_themes = MYSQL_QUERY($selection_themes);
	while($resultat_themes = mysql_fetch_array($requete_themes)){
		echo "- <a href='".$resultat_themes[page]."index.php?langue=".$langue."&theme=".$resultat_themes[id]."' class='texte'>$resultat_themes[$titre]</a><br>";
		if($_GET[theme]==$resultat_themes[id]){
			$selection_pays = "SELECT A.id, A.id_theme, A.id_pays FROM articles AS A WHERE A.id_theme=$_GET[theme]";
			$requete_pays = MYSQL_QUERY($selection_pays);
			while($resultat_pays = mysql_fetch_array($requete_pays)){
				$pays = $resultat_pays[id_pays];
				$nomPays = "nom_".$langue;
				$selection_nom_pays = "SELECT id, $nomPays FROM pays WHERE id=$pays";
				$requete_nom_pays = MYSQL_QUERY($selection_nom_pays);
				$resultat_nom_pays = mysql_fetch_array($requete_nom_pays);
					echo "<img src='media/utils/invisible.gif' width='12px' heigh='1 px'><a href='theme.php?langue=".$langue."&theme=".$_GET[theme]."&pays=".$pays."' class='texte' style='text-decoration: none;'>".$resultat_nom_pays[$nomPays]."</a><br>";
				
			}echo "<img src='media/utils/invisible.gif' width='12px' heigh='1 px'><a href='theme.php?langue=".$langue."&theme=".$_GET[theme]."' class='texte' style='text-decoration: none;'>".$D_tout_voir."</a><br>";
		} echo "<br>";
	}
}
//___________________________________________________________________________CHOIX PAR THEME______________________________________________________________________________FIN______					
		
	
Merci pour vos réponses.

July

Posté : 13 août 2007, 07:09
par jpaul
Bonjour,

A ta place, dans la boucle, j'initialiserais un tableau indexé sur le nom du pays (en lui mettant une valeur qui m'intéressera plus tard ou bidon selon) et je n'afficherais les pays qu'une fois sort de la boucle.

Posté : 13 août 2007, 08:25
par Ryle
Tu peux essayer d'utiliser la clause DISTINCT dans ta requête SQL pour qu'il te ramène la liste des pays sans les doublons...