Bene, proviamo a mantenerlo semplice. In sostanza, stai cercando di trovare un modo per connettere due utenti insieme.
Dal momento che sto cercando di mantenere le cose semplici e sicuramente non insinuando che questo sia il modo migliore per farlo, penso che sia il più semplice il modo per farlo è creare una nuova tabella (users_friends) con i seguenti campi:(user_id) e (friend_id).
Bene, diciamo che il mio user_id è 5. Il tuo user_id è 10.
Voglio aggiungerti come mio amico, quindi aggiungerei una voce a quella tabella appena creata con i seguenti valori:user_id =5, friend_id =10.
Quindi, supponiamo che tu voglia visualizzare tutti i miei amici, puoi eseguire una query come:
SELECT * FROM `users` WHERE `user_id` IN ( SELECT `friend_id` FROM `users_friends` WHERE `user_id` = '5' );
Abbastanza sicuro, rimuovere un amico è facile, tutto ciò che devi fare è eliminare la voce dalla tabella appena creata ...
DELETE FROM `users_friends` WHERE `user_id` = '5' AND `friend_id` = '10';
E poof, all'improvviso non sei più mio amico;)
Quindi sì, queste sono le basi. Proverò questa soluzione prima di passare a una soluzione che ti consentirà maggiore flessibilità.