Bonjour,
j'ai encore un petit soucis , on va dire que c'est pour créer un reseau d'amis mais mon objectif n'est pas celui là mais je veux reprendre le principe.

J'ai 2 tables
(Premiere table 'users': identifiant + nom)
-----------
id | nom |
-----------
1 | max |
-----------
2 | benoit |
-----------
3 | alexis |
-----------
4 | pascal |
-----------

(Deuxieme table 'reseau': demande d'ajout d'un ami + celui qui recoit la demande)
-----------------------
demandeur | receveur |
-----------------------
1 | 2 |
-----------------------
3 | 1 |
-----------------------
1 | 4 |
-----------------------

Dans mon cas, si je veux afficher les amis de 1, c'est a dire "max", je fais "WHERE (demandeur = 1 OR receveur = 1)". 1 peut demander à etre ami mais il peut également recevoir des demandes des autres amis.

Mon soucis est au niveau de la jointure avec la table users car la liaison est soit avec demandeur ou soit avec receveur. Si je fais avec demandeur, j'obtient 3 "FROM users JOIN reseau ON id=demandeur" et si je fais avec receveur, j'obtient 2 et 4 "FROM users JOIN reseau ON id=receveur". Ce qui est logique, la solution serait de doubler les données comme ceci mais du coup, je prends de la place et de la vitesse pour rien car les données sont identiques.

-----------------------
demandeur | receveur |
-----------------------
1 | 2 |
-----------------------
2 | 1 |
-----------------------
3 | 1 |
-----------------------
1 | 3 |
-----------------------
1 | 4 |
-----------------------
4 | 1 |
-----------------------

J'espere que vous avez compris ma question et si des personnes ont déja fait des reseaux, si vous pouvez m'indiquer la facon dont vous avez structuré votre systeme, ca serait super.

Merci d'avance