添加好友功能实现思路
思路:
1用户发送好友申请之后 把申请储存到申请数据表中,状态为 未验证
2 当用户登录时,查询申请表中是否有uid和被申请人id相同的,如果同意,更改状态,并把数据插入到对应的好友数据表,否则,删除申请数据表中数据
3,当一方删除好友时,从被删除人中删除删除人的好友
4 创建分组名称字段,字段设定好值,让用户选择,或者让用户自定
5 当查询时候列出数据表信息
附:mysql数据表 共两个
#以上步骤是对数据库的操作,你可以实例化,
#好友表
mysql_query("CREATE TABLE `t_friend` (
`id` int(11) NOT NULL auto_increment COMMENT
\'自增id\'
,
`uid` int(11) NOT NULL COMMENT
\'用户id\'
,
`fid` int(11) NOT NULL COMMENT
\'好友uid,用,分割,可以有多个\'
,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
#申请表
CREATE TABLE `t_shenqing` (
`id` int(11) NOT NULL auto_increment COMMENT
\'自增id\'
,
`uid` int(11) NOT NULL COMMENT
\'被申请用户id userid\'
,
`sid` int(11) NOT NULL COMMENT
\'好友申请人id\'
,
`text` varchar(255) NOT NULL COMMENT
\'附言\'
,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
");
每一次用户请求操作,就会对数据库进行一次查询或更新,
完毕
当然 前面提到的是在百度知道里面看到的.但是这种思路却打开了我另外一条思路,用户在登录的时候便可以建立一个与自己用户名绑定的socket.不管是web应用还是一些移动应用.当然,你可以建立websocket,或者时socket来进行通信.当有好友添加你为好友的时候,这时候服务器收到添加好友请求.并且向你请求的好友的那个socket(登录的时候就绑定了socket.所以你知道到底该发给哪个人)发送通知.当好友同意添加你为好友时,你也可以收到系统消息说好友已同意添加你为好友等信息.这样的话就不只是操作数据库那么简单了..可以考虑实现一下