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' :
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 :
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à :
J'ai également essayé :
** 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
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