Selection de champs d'une meme table avec 2 conditions

Répondre
Sammuel
le 10/09/2007 à 16:48
Sammuel
Salut,

Je rencontre un probleme avec une requete :'(. La solution doit etre toute bete, mais je ne sais pas comment procéder !

J'ai une table 'Amis' :
CREATE TABLE `amis` (
`id` int(10) NOT NULL auto_increment,
`iduser` int(6) default NULL,
`amis` int(6) default NULL,
PRIMARY KEY (`id`)
)


IDUSER => corresponds à l'id de la personne qui est identifiée sur le site
AMIS => c'est l'id de la personne que l'IDUSER a ajouté dans sa liste d'amis.

Si l'user 1 ajoute l'user 2 dans sa liste d'amis, ca donnera :
INSERT INTO `amis` VALUES (1, 1, 2);


Quand l'user 1 va afficher sa liste d'amis, cela affichera :
user 2

Et quand l'user 2 va afficher sa liste d'amis, cela affichera :
user 1

En ajoutant une seule ligne dans la BDD, j'aimerais que le script qui affiche la liste de ses amis soit capable de voir que l'user 1 et 2 sont amis et que donc, il faudra afficher user 1 (si l'user 2 est identifié) et user 2 (si l'user 1 est identifié).

Pour le moment, j'en suis là :
SELECT user.iduser,user.username FROM user,amis WHERE (amis.iduser = '".$_SESSION['iduser']."' AND amis.iduser = user.iduser) AND (amis.amis = '".$_SESSION['iduser']."' AND amis.amis = user.iduser)


J'ai également essayé :
SELECT user.iduser,user.username FROM user,amis,amis AS amis2 WHERE (amis.iduser = '".$_SESSION['iduser']."' AND amis.iduser = user.iduser) AND (amis2.amis = '".$_SESSION['iduser']."' AND amis2.amis = user.iduser)


** J'ai fais une jointure vers la table user pour récupérer le pseudo... enfin essayer de le récupérer ^^ **

Selon vous, qu'est ce qui ne va pas dans ma requete ?? Je ne pense pas que ce soit impossible a faire... tout du moins que ma méthode ne soit pas bonne ?!

Merci pour votre aide smiley
Sammuel
le 10/09/2007 à 17:50
Sammuel
Ayez j'ai trouvé smiley

J'ai fais une inversion dans mes champs dans la clause WHERE :p

Y a de quoi y perdre la tete :D
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours