添加好友功能实现思路

思路:

1用户发送好友申请之后 把申请储存到申请数据表中,状态为 未验证

2 当用户登录时,查询申请表中是否有uid和被申请人id相同的,如果同意,更改状态,并把数据插入到对应的好友数据表,否则,删除申请数据表中数据

3,当一方删除好友时,从被删除人中删除删除人的好友

4 创建分组名称字段,字段设定好值,让用户选择,或者让用户自定

5 当查询时候列出数据表信息

附:mysql数据表 共两个

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#以上步骤是对数据库的操作,你可以实例化,
#好友表
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.所以你知道到底该发给哪个人)发送通知.当好友同意添加你为好友时,你也可以收到系统消息说好友已同意添加你为好友等信息.这样的话就不只是操作数据库那么简单了..可以考虑实现一下

好的,我可以给您提供一些思路和代码片段: 首先,您需要一个包含好友列表的 HTML 页面,您可以使用 `<ul>` 和 `<li>` 标签来创建一个无序列表,每个列表项表示一个好友。例如: ```html <ul id="friend-list"> <li>好友1</li> <li>好友2</li> <li>好友3</li> </ul> ``` 在页面上添加好友功能可以通过添加一个表单来实现。您可以使用 `<input>` 标签来让用户输入好友的名字,并使用 `<button>` 标签来触发添加操作。例如: ```html <form id="add-friend-form"> <label for="friend-name">好友名字:</label> <input type="text" id="friend-name" name="friendName"> <button type="submit">添加</button> </form> ``` 然后,您需要编写 JavaScript 代码来处理表单的提交事件。您可以使用 `addEventListener` 方法来监听表单的 `submit` 事件,并在事件处理程序中获取用户输入的好友名字并添加到列表中。例如: ```js const addFriendForm = document.getElementById("add-friend-form"); const friendList = document.getElementById("friend-list"); addFriendForm.addEventListener("submit", (event) => { event.preventDefault(); // 阻止表单的默认提交行为 const friendNameInput = document.getElementById("friend-name"); const friendName = friendNameInput.value; // 创建一个新的列表项并添加到列表中 const newFriendItem = document.createElement("li"); newFriendItem.textContent = friendName; friendList.appendChild(newFriendItem); // 清空输入框 friendNameInput.value = ""; }); ``` 接下来,您需要实现删除和移动好友功能。您可以为每个列表项添加一个删除按钮和上下移动按钮,当用户点击这些按钮时,您可以使用 JavaScript 来删除或移动列表项。例如: ```html <ul id="friend-list"> <li> 好友1 <button class="delete-btn">删除</button> <button class="move-up-btn">上移</button> <button class="move-down-btn">下移</button> </li> <li> 好友2 <button class="delete-btn">删除</button> <button class="move-up-btn">上移</button> <button class="move-down-btn">下移</button> </li> <li> 好友3 <button class="delete-btn">删除</button> <button class="move-up-btn">上移</button> <button class="move-down-btn">下移</button> </li> </ul> ``` 然后,您需要编写 JavaScript 代码来处理按钮的点击事件。您可以使用 `addEventListener` 方法来监听按钮的 `click` 事件,并在事件处理程序中删除或移动对应的列表项。例如: ```js // 删除按钮的事件处理程序 friendList.addEventListener("click", (event) => { if (event.target.classList.contains("delete-btn")) { const friendItem = event.target.parentNode; friendList.removeChild(friendItem); } }); // 上移按钮的事件处理程序 friendList.addEventListener("click", (event) => { if (event.target.classList.contains("move-up-btn")) { const friendItem = event.target.parentNode; const prevFriendItem = friendItem.previousElementSibling; if (prevFriendItem) { friendList.insertBefore(friendItem, prevFriendItem); } } }); // 下移按钮的事件处理程序 friendList.addEventListener("click", (event) => { if (event.target.classList.contains("move-down-btn")) { const friendItem = event.target.parentNode; const nextFriendItem = friendItem.nextElementSibling; if (nextFriendItem) { friendList.insertBefore(nextFriendItem, friendItem); } } }); ``` 这样,您就实现了在列表中添加好友删除好友、上下移动好友功能。希望这些代码可以帮助到您!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值