废话少说,直接上主题:
1.首先,数据库表的设计:
mysql数据库,要实现这个功能,必须建立一张订阅表(subscribe表)。我设计的这张表的字段如下:
其中subscribe_id 自增,userA_id,userB_id分别是相应用户,subscribe_state表示订阅状态,最后一个字段是用来记录订阅时间。现在说说这个最关键的subscribe_state字段:
我将它设定为三种状态,分别用1,2,3来区别:
(a)1表示,A订阅B,A为B的粉丝
(b)2表示,B订阅A,B为A的粉丝
(c)3表示,A,B相互订阅,A,B互为粉丝。
这样设计的好处,我认为是将表结构简单化,这样可以便于数据库操作的时候进行简单查询。
2.具体实现:
例如,要实现这个功能,你必须实现两个操作,一是从数据库得到用户的订阅列表,二是从数据库获取用户的粉丝列表。在我看来,这两个操作其实是互补操作,只要你实现了其中一个,那么在实现第二个操作的时候,取补就行(如果在订阅列表中的subscribe_state=1,那么在粉丝列表的subcribe