大概情况是这样的:
当A登陆以后,可以发消息给B,如下图,选择B的工号
发送以后,B登陆,可以在部门消息那里会显示一个小红点,提示有消息
我的思路是这样的:当A按下发送以后,就向存放消息的数据库里写一条记录,并把消息的状态码设置成未读,接收人是B,当B登陆以后,因为状态码是未读,就会显示提示信息。可是这个提示怎么实现?
这是我消息的数据库:
如果我一次发同样的消息给多个人,是不是应该写多条记录?向数据库写消息要循环?
还有一个问题是:如果我的消息中包含图片,图片是不是要放在一个文件夹里?
希望能给点意见,谢谢!
你确定只是在用户登录时看到消息就可以了是吧。如果是,那接着往下看。
1. 如何进行消息提示
在你的表里,message_id应该是这个表的主键,每个消息都对应着一个message_id。当某用户登录时,就查询这个message表里的receive_id和message_status,即查询登录的用户中未读消息的个数,若个数>0,表示有未读消息,登录成功跳转时,有一个mes_status的字段也同时传过去。比如跳转到首页(index),index中再判断mes_status的值,给用户以提示。
2. 若发送给多人呢
其实你的message表里的主键是message_id,跟发送给几个人没什么关系,当他登录时,只查询这个用户自己作为接收方,收到的消息的个数。比如数据表里有这样的一些数据:
用户
111
可以给多个用户222
,333
发送消息,并不冲突;用户也能接收多个其他用户的消息,比如222
。当用户(userid=='222')登录时,就查询(receive_id==userid)的消息即可。3. 若消息中有图片怎么办
你的推断是对的,首先应该把用户上传的图片放到一个文件件中,然后返回给用户一个图片链接,用户把这个图片链接插入到消息中。