Nå, lad os prøve at holde dette enkelt. Du forsøger i bund og grund at finde en måde at forbinde to brugere på.
Da jeg forsøger at holde tingene enkle og bestemt ikke antyder, at dette er den bedste måde at gøre det på, tror jeg, at den nemmeste måde at gøre dette på er at oprette en ny tabel (users_friends) med følgende felter:(user_id) og (friend_id).
Nå, så lad os sige, at mit bruger-id er 5. Dit bruger-id er 10.
Jeg vil gerne tilføje dig som min ven, derfor vil jeg tilføje en post til den nyoprettede tabel med følgende værdier:bruger_id =5, ven_id =10.
Så lad os sige, at du vil vise alle mine venner, kan du køre en forespørgsel som:
SELECT * FROM `users` WHERE `user_id` IN ( SELECT `friend_id` FROM `users_friends` WHERE `user_id` = '5' );
Selvfølgelig er det nemt at fjerne en ven, alt du skal gøre er at slette posten fra den nyoprettede tabel ...
DELETE FROM `users_friends` WHERE `user_id` = '5' AND `friend_id` = '10';
Og puf, du er pludselig ikke min ven mere;)
Så ja, det er det grundlæggende. Jeg ville prøve denne løsning, før jeg gik videre til en løsning, der giver dig mere fleksibilitet.