Ciao
alcor, io iniziarei col mettere nella tabella delle amicizie i campi:
- data richiesta
- data accettazione
- IP richiesta
- IP accettazione
In caso di contestazioni, problemi e statistiche queste informazioni ti torneranno utilissime.
Inoltre dovresti gestire e storare le informazini relative alla disattivazione di un amicizia che se vuoi gestire in maniera professionale non corrisponde all'eliminazione fisica del record nella tabella.
Corrisponde invece all'eliminazione logica...banalmente puoi inpostare il campo Amicizia al valore -1 (ip e date anche per questo caso non fanno mai male)
Per quanto riguarda invece la ricerca degli amici di A (id=52), esistono diverse soluzioni ma basandomi sulla tabella in questione potresti risolverla con una query come questa:
select IDamico as IDamico_trovato from la_tabella where IDutente = 52 and Amicizia = 1
union
select IDutente as IDamico_trovato from la_tabella where IDamico = 52 and Amicizia = 1
Fammi sapere come procede..