我想在我的网络游戏中建立一个好友列表。我不知道如何设置或从何处开始。添加好友和接受好友部分我可以处理,但我不知道如何在mysql和php中设置它。连接到每个用户的用户(朋友)列表或其他内容?
最佳答案
如果你的友谊关系是对称的,你可以将每一对存储在单独的记录中:
friend1 friend2
A B
B A
A C
B D
C B
D B
像这样询问所有的朋友:
SELECT friend2
FROM friends
WHERE friend1 = 'B'
或者在第一个字段中存储
B
最少的用户,在第二个字段中存储id
最大的用户:friend1 friend2
A B
A C
B D
像这样询问
id
的朋友:SELECT friend1
FROM friends
WHERE friend2 = 'B'
UNION ALL
SELECT friend2
FROM friends
WHERE friend1 = 'B'
第一个选项在
B
中更有效一些,如果你的友谊关系不是对称的(比如在MySQL
中),这是唯一的选项。参见本文:
Selecting friends
关于php - 在mysql中设置 friend 列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4674005/