Bonjour,
Comment il faudrait faire pour récupérer les membres de mon site sauf ceux dont je suis amis avec sql ?
En fait j'ai créé deux tables ci-dessous : une pour les membres et l'autre pour le lien d’amitié.
- j'ai écrit cette requête pour récupérer les amis d'un membre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 .membres. CREATE TABLE `membres` ( `membre_id` int(11) NOT NULL auto_increment, `membre_pseudo` varchar(32) NOT NULL default '', `membre_mdp` varchar(40) NOT NULL default '', `membre_mail` varchar(100) NOT NULL default '', `membre_sexe` varchar(100) NOT NULL default '', `membre_inscription` bigint(20) NOT NULL default '0', `membre_naissance` varchar(11) NOT NULL default '', `membre_pays` varchar(255) NOT NULL default '', `membre_ville` varchar(255) NOT NULL default '', `membre_telephone` varchar(255) NOT NULL default '', `membre_avatar` varchar(255) NOT NULL default '', `interet` varchar(255) NOT NULL default '', `sexe_interet` varchar(255) NOT NULL default '', `pays_interet` varchar(255) NOT NULL default '', `ville_interet` varchar(255) NOT NULL default '', `membre_derniere_visite` bigint(20) NOT NULL default '0', `membre_banni` int(11) NOT NULL default '0', PRIMARY KEY (`membre_id`), UNIQUE KEY `membre_pseudo` (`membre_pseudo`), UNIQUE KEY `membre_mail` (`membre_mail`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=30 ; .liste_amis. CREATE TABLE `liste_amis` ( `id` int(11) NOT NULL auto_increment, `user1` bigint(20) NOT NULL default '0', `user2` bigint(20) NOT NULL default '0', `statut` varchar(255) NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT membres.membre_id, membres.membre_pseudo, membres.membre_avatar, liste_amis.id FROM membres, liste_amis where ((membres.membre_id = liste_amis.user1 and liste_amis.user2= "'.$_SESSION['membre_id'].'" and statut="Amis") or (membres.membre_id = liste_amis.user2 and liste_amis.user1 = "'.$_SESSION['membre_id'].'" and statut="Amis"))
jusque la c'est bon.
le problème est que si j'entre dans la page de suggestion d'amis, ça m’affiche tous les membres de mon site. et moi je voulais que ça affiche tous les membres sauf mes amis. j'ai essayé avec la requête suivante:
ça ne fonctionne pas toujours.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT membres.membre_id, membre_pseudo, membres.membre_avatar, liste_amis.id FROM membres, liste_amis where ((membres.membre_id != liste_amis.user1 and liste_amis.user2= "'.$_SESSION['membre_id'].'" and statut="Amis") or (membres.membre_id != liste_amis.user2 and liste_amis.user1 = "'.$_SESSION['membre_id'].'" and statut="Amis"))
C'est très dur d'expliquer.
Merci d'avance,
salutations
Partager