Е, нека се опитаме да запазим това просто. По същество се опитвате да намерите начин да свържете двама потребители заедно.
Тъй като се опитвам да опростя нещата и определено не намеквам, че това е най-добрият начин да го направя, мисля, че най-лесният начин да направите това е да създадете нова таблица (users_friends) със следните полета:(user_id) и (friend_id).
Е, да кажем, че моят user_id е 5. Вашият user_id е 10.
Искам да те добавя като мой приятел, затова бих добавил запис към тази новосъздадена таблица със следните стойности:user_id =5, friend_id =10.
Така че, да приемем, че искате да покажете всички мои приятели, можете да изпълните заявка като:
SELECT * FROM `users` WHERE `user_id` IN ( SELECT `friend_id` FROM `users_friends` WHERE `user_id` = '5' );
Разбира се, премахването на приятел е лесно, всичко, което трябва да направите, е да изтриете записа от новосъздадената таблица...
DELETE FROM `users_friends` WHERE `user_id` = '5' AND `friend_id` = '10';
И пуф, изведнъж вече не си ми приятел;)
Така че да, това са основите. Бих опитал това решение, преди да премина към решение, което ще ви позволи повече гъвкавост.