Ne pas afficher les doublons

Résolu
spike911 Messages postés 116 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 21 janvier 2020 - 29 nov. 2010 à 20:16
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre 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!

3 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
29 nov. 2010 à 21:03
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 -
3
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
30 nov. 2010 à 09:14
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.
3
spike911 Messages postés 116 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 21 janvier 2020
29 nov. 2010 à 20:32
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...!
0
Rejoignez-nous