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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de répétiton d'une variable venant d'une base dans un menu

par Ryle » 13 août 2007, 08:25

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...

par jpaul » 13 août 2007, 07:09

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.

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

par emmiedax » 12 août 2007, 12:45

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