Nåväl, låt oss försöka hålla det här enkelt. Du försöker i huvudsak hitta ett sätt att koppla samman två användare.
Eftersom jag försöker hålla saker och ting enkla, och definitivt inte antyder att detta är det bästa sättet att göra det, tror jag att det enklaste sättet att göra detta är att skapa en ny tabell (users_friends) med följande fält:(user_id) och (friend_id).
Tja, så låt oss säga att mitt user_id är 5. Ditt user_id är 10.
Jag vill lägga till dig som min vän, därför skulle jag lägga till en post i den nyskapade tabellen med följande värden:användar_id =5, vän_id =10.
Så låt oss säga att du vill visa alla mina vänner, du kan köra en fråga som:
SELECT * FROM `users` WHERE `user_id` IN ( SELECT `friend_id` FROM `users_friends` WHERE `user_id` = '5' );
Visst är det enkelt att ta bort en vän, allt du behöver göra är att ta bort posten från den nyskapade tabellen ...
DELETE FROM `users_friends` WHERE `user_id` = '5' AND `friend_id` = '10';
Och poff, du är plötsligt inte min vän längre;)
Så ja, det här är grunderna. Jag skulle prova den här lösningen innan jag går vidare till en lösning som ger dig mer flexibilitet.