我正在为我的网站创建一个聊天系统,但是我遇到了一个小问题,我想将当前用户与之交谈的其他用户用户名上的消息分组,假设我有4个用户和3个对话。在会话1中,user1(john)与user2(smith)交谈;在会话2中,user2(smith)与user3(michael)交谈;在会话3中,user1(john)与user3(michael)交谈。因此,当user1在收件箱中登录到其帐户时,将显示两个与username smith的对话,另一个与username michael的对话,依此类推。。这是我的table。。
1.用户:
身份证件
用户名
密码
2.对话:
会话\u id
来自用户
发送给用户
3.信息:
消息\u id
会话\u id
用户id
消息\u文本
消息\u日期
看到
它必须像facebook messanger。。。任何帮助都将不胜感激谢谢
2条答案
按热度按时间0vvn1miw1#
往那边找
正在加入用户表:
7lrncoxx2#
我真的不知道这是不是你的困境,但我会尽力帮助你。
首先,当有人发送消息时,您需要签入会话表如果已经有会话,如果没有,您将创建一个会话,但您需要添加一个新列,其中存储上次发送或接收的消息的日期,并将其命名为last\u message,当有人发送消息时,您将更新该列中的日期和时间,然后您将将用户发送的消息插入到消息表中。
现在,当用户打开他的收件箱时,您只需要一个查询,就可以在from\u user或to\u user列中选择与他的用户名相匹配的对话,这些列按存储在last\u message列中的日期和时间排序。