par
d0m » 02 août 2007, 15:21
Je viens d'essayer la close DISTINCT dans ma requête et pourtant les doublons sont encore là. Y'a t-il autre chose à modifier dans ma requête pour les eliminer ?
En faisant un SELECT *, tu selectionnes tous tes champs donc le distinct va s'appliquer à tous les champs de ta table. C'est à dire que 2 lignes considéré comme pareille si TOUS les champs sont égaux.
Si tu utilises juste les prenoms de ta requete, alors tu peux selectionner juste le champ prenom :
Code : Tout sélectionner
SELECT DISTINCT `prénom` FROM `fff_livres` WHERE `Prénom` LIKE 'S%'
Sinon si tu dois utiliser des autres informations de la table fff_livres de cette requête,
tu traites en php par exemple en faisant un tablea associatif :
disons que les résultats de ta requête sont dans la variable
$fff_livres contenant des tableaux associatif issues de la requête :
$tableau_prenom = array();
foreach($fff_livres as $fff_livre){
$tableau_prenom[$fff_livre['prénom']] = $fff_livre['prénom'];
}
tu auras donc à la fin de la boucle un tableau associatif avec pour clés et valeurs les prénoms.
Comme dans un tableau, 2 clés ne peuvent pas être égales tu auras chaque prénom une seule fois dans le tableau.
[quote="Freu"]Je viens d'essayer la close DISTINCT dans ma requête et pourtant les doublons sont encore là. Y'a t-il autre chose à modifier dans ma requête pour les eliminer ?[/quote]
En faisant un SELECT *, tu selectionnes tous tes champs donc le distinct va s'appliquer à tous les champs de ta table. C'est à dire que 2 lignes considéré comme pareille si TOUS les champs sont égaux.
Si tu utilises juste les prenoms de ta requete, alors tu peux selectionner juste le champ prenom :
[code]
SELECT DISTINCT `prénom` FROM `fff_livres` WHERE `Prénom` LIKE 'S%'
[/code]
Sinon si tu dois utiliser des autres informations de la table fff_livres de cette requête,
tu traites en php par exemple en faisant un tablea associatif :
disons que les résultats de ta requête sont dans la variable [i]$fff_livres[/i] contenant des tableaux associatif issues de la requête :
[php]
$tableau_prenom = array();
foreach($fff_livres as $fff_livre){
$tableau_prenom[$fff_livre['prénom']] = $fff_livre['prénom'];
}
[/php]
tu auras donc à la fin de la boucle un tableau associatif avec pour clés et valeurs les prénoms.
Comme dans un tableau, 2 clés ne peuvent pas être égales tu auras chaque prénom une seule fois dans le tableau.