我想在我的网络游戏中建立一个好友列表。我不知道如何设置或从何处开始。添加好友和接受好友部分我可以处理,但我不知道如何在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/

10-10 07:00