Répétition d'id

kachtoul -  
Doctor C Messages postés 648 Statut Membre -
Bonjour,

je veut afficher les produits de ma base de donnée en utilisant

$cc="select * from prodcara where ID_CARAC='".$r['ID_CARAC']."'";

//cette ligne affiche 1 2 3

$rp=mysql_query($cc)or die('errreeeeer');

while($rk=mysql_fetch_array($rp))

{$gh="select * from produit where ID_PROD='".$rk['ID_PROD']."'";

$et=mysql_query($gh)or die('errreeeeer');

$ol=mysql_fetch_array($et);
......
ma requète va afficher le mème produit 3 fois
car lorsque ID_CARAC=1 j'ai dan la table ID_PROD=1
et le mème cas pour ID_CARAC=2 et 3

il y a t'il une solution??? un controle!!!!
merci d'avance

1 réponse

Doctor C Messages postés 648 Statut Membre 399
 
Si je comprend bien, tu veux avoir chaque produit une et une seule fois même si ta requête te retourne plusieurs fois le même produit.

Il te manque tout simplement un petit mot clé à ta requête: Distinct

select DISTINCT * from produit where ID_PROD='".$rk['ID_PROD']."'


À mon souvenir, le mot clé devrait fonctionner avec l'étoile (*) mais sinon, énumère tout simplement tous les champs.

Ça devrait fonctionner.
0
Doctor C Messages postés 648 Statut Membre 399
 
Oh, je viens de relire ton cas et je ne pense pas que le distinct va résoudre ton problème étant donné que ta requête retourne la bonne information sans duplicat, c'est plutôt ta boucle le problème.

Il faudrait que tu stockes les informations que tu veux afficher dans un tableau ou une liste et qu'avant d'ajouter un élément de ta base de données dans cette liste, tu vérifies s'il y est déjà présent avec une simple condition.
0