Ne pas afficher les doublons [Résolu]

Messages postés
115
Date d'inscription
jeudi 11 mars 2004
Dernière intervention
21 février 2012
- - Dernière réponse : syndrael
Messages postés
2382
Date d'inscription
lundi 4 février 2002
Dernière intervention
29 décembre 2012
- 30 nov. 2010 à 09:14
Bonjour,
J'ai une basse de données avec une table qui contiens une liste d'appareil électronique. La table contiens plusieurs champs, don l'un avec la marque des appareils. J'aimerais être capable de sortir une liste complète de tous les marques contenu dans ma database.

Exemple, sur ma page j'aimerais qui s'affiche :

Toshiba
Sony
Samsung
etc.

Voici mon code du moment:
$db = mysql_connect($host,$login,$pass);
mysql_select_db($base,$db);
$req = mysql_query("SELECT * FROM [table_name] ORDER BY marque");
$res = mysql_numrows($req);
$i = "0";

WHILE($res!=$i)
  {
     $vMarque = mysql_result($req,"$i","marque");
     $vID = mysql_result($req,"$i","ID");
     echo"<option width=100%>$vMarque</option>";
  $i++;
  }
mysql_close();
                     


Donc avec ce code je peu affiche les marques, mais j'aimerais ne pas afficher les doublons.


Merci de votre aide!
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Dernière intervention
27 avril 2012
3
Merci
Salut,

Il y a surement un façon plus technique mais cela fonctionne bien...!

Ouais, mais c'est vraiment moche

Fais ce traitement dans la requête SQL, regarde du côté de DISTINCT()

Cordialement,


Kohntark -

Merci kohntark 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de kohntark
Messages postés
2382
Date d'inscription
lundi 4 février 2002
Dernière intervention
29 décembre 2012
3
Merci
Alors je viens rajouter mon petit grain de sel purement théorique.. sachant que la pratique n'a de pertinent que si elle se rapproche de la théorie.
Tout d'abord le Select * est à prohiber. Ensuite pour ce genre de problématique, l'origine vient surement de la conception même de ta base. Il faut nécessairement créer une table des marques qui naturellement ne contiendrait les marques de façon unique (ça peut même devenir un index si on pousse un peu..)
Donc le Distinct est 'une' solution mais est très consommateur de ressource. Je l'évite au maximum, comme certains ORM l'évitent.
C'était mon avis, ça n'engage que moi mais l'essentiel est que je sois d'accord avec moi-meme..LOL !!
S.

Merci syndrael 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de syndrael
Messages postés
115
Date d'inscription
jeudi 11 mars 2004
Dernière intervention
21 février 2012
0
Merci
A j'ai trouve seul,
[..]
if ($vMarque != $vMarqueOld) {
          echo"<option width=100%>$vMarque</option>";
          $vMarqueOld = $vMarque;
}
[..]


Il y a surement un façon plus technique mais cela fonctionne bien...!
Commenter la réponse de spike911

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.