Petite requete LEFT JOIN qui se la joue rebelle??? Help!

Eléphant du PHP | 58 Messages

07 oct. 2008, 21:32

:D
Il me semblait avoir compris le principe du left join mais cela ne fonctionne pas! Je veux simplement relier 2 tables pour faire une requête.

J'ai une table membres et une table listeamis.

chaque table comprend les champs suivants :
Table Membres
ID
PSEUDO
mot de passe
Table listeamis
idjoueur
idami

L'idami correspond à l'ID de la table Membres.

Je cherche tous les enregistrement de la table Listeamis ou le joueur actif figure (idjoueur)
Je veux afficher le pseudo des amis(qui existe dans la table membres) à partir des 'idami' trouvées par la requête :

Je fais donc:

//Affiche les scores des amis
// ID du joueur dont on cherche les amis
$idj=$_SESSION['idjoueur'];
//requete pour trouver tous les enregistrements d'amis dans la table LISTEAMIS
$rq="select listeamis.idjoueur,listeamis.idami,membres.PSEUDO,membres.motdepasse from listeamis
LEFT JOIN membres 
ON listeamis.idjoueur = membres.ID 
WHERE ID='$idj'";
$resultat=mysql_query($rq) or die(mysql_error);
$cpt=0;
//affichage des résultats
while($donnees = mysql_fetch_array($resultat))
{
	$cpt++;
	echo "<br/>".$cpt.") ".$donnees['PSEUDO']."--".$donnees['motdepasse']."<br/>";
}
J'obtiens 3 enregistrements avec 3 fois le même pseudo et mot de passe alors qu'après vérif de la base j'ai 3 enregistrements différents.

Qui peut m'aider svp?

merci.

Invité
Invité n'ayant pas de compte PHPfrance

07 oct. 2008, 23:25

ça marche en fait! c'était la philosophie ci-dessus qui n'était pas bonne.... mais les jointures sont OK pour ceux qui veulent s'en servir comme exemple pour comprendre.