Afficher 1 seule fois nom avec SELECT

Eléphant du PHP | 93 Messages

18 sept. 2006, 10:53

Bonjour,

Question bête, mais je ne sais pas comment faire :

Je veux afficher une liste de noms de persos à partir d'une table de 6200 unités appartenant à ces persos, en sachant que parfois, certains persos possèdent 200 de ces unités.

Je fais ceci :
<select name="nom" onchange="rediretion()">
<? 
$sql = "SELECT arrakeen FROM unites ORDER BY arrakeen ASC"; 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

while($data = mysql_fetch_assoc($req)) 
{      
     echo' <option value="' . $data['arrakeen'] . '">' . $data['arrakeen'] . '</option>';
	 $i++; 
} 
?> 
</select><br/>
Mais là évidemment, ça m'affichera 200 fois le même nom avant de passer au suviant.
Je ne sais pas quelle est la petite astuce pour que cela affiche chaque nom une seule fois...

Quelqu'un peut me dépanner svp ?
Je suis certain que ça doit être bête, mais je ne vois pas... :?

Merci d'avance...
Modifié en dernier par ItaloBADI le 18 sept. 2006, 11:13, modifié 1 fois.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

18 sept. 2006, 11:07

modération : il est inutile de mettre l'intégralité du post en gras, celà n'aide en rien à la compréhension, bien au contraire ;)

Sinon, pour ton soucis, tu as la solution du DISTINCT ou du groupement. ;)
Je te laisse chercher à quoi correspondent ces commandes SQL ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 93 Messages

18 sept. 2006, 11:09

Merci, désolé pour la mise en gras.... :?

Je vais chercher de ce côté là.

Eléphant du PHP | 93 Messages

18 sept. 2006, 11:12

MERCI Zeus, j'ai effectivement fait ainsi :
<select name="nom" onchange="rediretion()">
<? 
$sql = "SELECT  DISTINCT(arrakeen) FROM unites ORDER BY arrakeen ASC"; 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

while($data = mysql_fetch_assoc($req)) 
{      
     echo' <option value="' . $data['arrakeen'] . '">' . $data['arrakeen'] . '</option>';
	 $i++; 
} 
?> 
</select><br/>
Merci beaucoup. :wink:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

18 sept. 2006, 11:16

Mais de rien, ce fut un plaisir ;)

juste une petite dernière remarque pas méchante : pour tagger un sujet [RESOLU], tu as un bouton en haut à gauche des post dont tu es l'auteur.
J'ai remplacé ta modification du titre par cette action ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 93 Messages

18 sept. 2006, 11:18

lol merci, ça fait longtemps que je ne suis pas venu sur ce forum, en fait, je ne savais plus où le trouver...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

18 sept. 2006, 11:25

Mais de rien, je suis là pour çà :pouce:

Mais c'est vrai que celà faisait un temp que nous ne t'avions pas vu ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 93 Messages

18 sept. 2006, 11:32

Disons que j'y arrive mieux de mon côté...
Et même quand je venais, juste en regardant dans "rechercher" je trouvais mon bonheur...

Et pour ma part, je ne suis pas assez expérimenté encore pour savoir aider... :?

Bref, encore merci...
C'est fou comme on est rapidement aidé ici, je vous fais de la pub, car c'est vraiment génial !