juste une chose que je n'arrive pas trop à assimiler c'est cette histoire de pseudo_dest et pseudo_exp
Tu veux parler de ce passage ?
on va dire que "l'ami" de Marc, est dans le champ où n'est PAS Marc (entre les 2 champs pseudo_dest et pseudo_exp)
Je voulais dire que dans ta table amis, un enregistrement pourrait autant être :
id_invitation = 4
pseudo_exp = Marc
pseudo_dest = Jean
...
que :
id_invitation = 4
pseudo_exp = Jean
pseudo_dest = Marc
...
Comme on a récupéré toutes les lignes où il y a "Marc" quelque part (pseudo_exp OU pseudo_dest),
si on veut l'ami de Marc, il faut regarder dans l'autre "quelque part" (pseudo_exp OU pseudo_dest), c'est à dire le champ qui ne contient pas Marc (où Marc n'est pas).
Ce que je souhaiterais est de pouvoir afficher la liste des amis de Marc, la liste des amis de Marion, la liste des amis de X et tout ça, sans forcément avoir a être connecté sur le site.
Oui c'est bon, avec notre idée, pas besoin d'être connecté, pas de soucis.
Si un membre se connecte, je veux qu'il puisse voir ses amis a lui,
Oui OK, c'est bon avec ce qu'on fait.
et éventuellement, voir les amis qu'il a en commun avec un autre membre.
Pour les amis en commun, l'idée est simple.
Comme on sait récupérer les amis de "Marc", on sait aussi récupérer les amis de "Jean",
on a donc 2 tableaux "d'amis".
Les amis en commun (de Marc et de Jean) seront les noms qui seront présent dans les 2 tableaux.
amis_communs est un tableau vide
On boucle sur le tableau des amis de Marc, et à chaque itération,
SI inArray(ami_de_marc, tableau_amis_de_jean),
ALORS on ajoute ami_de_marc dans le tableau amis_commun