dounawa Posté 25 Septembre 2008 Posté 25 Septembre 2008 (modifié) Bonjour Je galere depuis pas mal de temps sur une requete voici la situation : jai une table ( tunnel_fam ) qui regroupent les jointures de différentes tables : 1er champ >> la reference du produit ( qui se retrouve dans la table produit ) 2e champ >> sa famille ( qui se retrouve dans la table famille ) 3e champ >> son theme ( qui se retrouve dans la table theme ) 4e champ >> son materiau ( qui se retrouve dans la table materiau ) ( je ne cite pas l'id ) dans cette table j'ai donc pour chaque reference de produit toutes ces appartenance catégorie ok donc on va dire que je recherche les familles dont les produit sont du theme1 j'ai donc pour cela dans l'exemple 6 enregistrements dont le theme est theme1 les autres sont du theme2 theme3 etc....: ref 2 dont famille est bougie ref 4 dont famille est bougie ref 5 dont famille est voiture ref 8 dont famille est ordinateur ref 9 dont famille est ordinateur ref 10 dont famille est pantalon si je fais $req="SELECT famille FROM tunnel_fam WHERE theme='theme1'"; $res= mysql_query($req) or die ('Erreur : '.mysql_error() ); while($ligne = mysql_fetch_array($res)) { $fam=$ligne['famille']; echo $fam.'<br />'; } il va me sortir bougie bougie voiture ordi ordi pantalon moi j'aimerai qu'il me sorte bougie voiture ordi et pantalon comment devrais etre ma requete pour cela selon vous ( désolé mais par peur de m'embrouiller dans les explications j'ai préféré marcher à l'exemple precis ) Modifié 25 Septembre 2008 par Portekoi
KnockedMaster Posté 25 Septembre 2008 Posté 25 Septembre 2008 (modifié) Salut et bienvenue sur le Hub, Un simple Group By devrait suffire ... ça donnerait dans ta requête : $req="SELECT famille FROM tunnel_fam WHERE theme='theme1 GROUP BY famille'"; @+ Modifié 25 Septembre 2008 par KnockedMaster
dounawa Posté 25 Septembre 2008 Auteur Posté 25 Septembre 2008 wow la honte merci KnockedMaster pourtant le group by se charge de trier ..... ok ok je confond avec order by, bienvenue chez les newbies, c souvent çà on se casse la tete alors que la soluce est simple, merci merci
KnockedMaster Posté 25 Septembre 2008 Posté 25 Septembre 2008 Y'a pas de quoi ... et y'a pas de honte, j'ai mis un lien vers le site du zéro parce que c'est le premier que j'ai trouvé @+
varod Posté 25 Septembre 2008 Posté 25 Septembre 2008 Salut et bienvenue sur le Hub, Un simple Group By devrait suffire ... ça donnerait dans ta requête : $req="SELECT famille FROM tunnel_fam WHERE theme='theme1 GROUP BY famille'"; @+ J'aurai fait un disctinct, ça me parait plus approprié nan ? $req="SELECT DISTINCT famille FROM tunnel_fam WHERE theme='theme1'";
KnockedMaster Posté 25 Septembre 2008 Posté 25 Septembre 2008 C'est fonctionnel aussi, de là à dire qu'un DISTINCT est plus approprié, faut voir la structure exacte des tables, parce que pour le même prix tu peux utiliser UNIQUE aussi ... Bref ... tous les chemins mènent à Rome, la preuve ... @+
dounawa Posté 26 Septembre 2008 Auteur Posté 26 Septembre 2008 (modifié) c cool merci encore distinct , unique, group by .. je peux dormir tranquil, grace à toi j'ai pu pas mal avancer aujourd'hui, merci merci Modifié 26 Septembre 2008 par dounawa
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant