日期:2014-05-18  浏览次数:20521 次

关于向站内所有用户发消息的设计问题:如何设计表?用户可以删除此消息或为已读,难道要为每个用户生成一条记录?
如题,象Google,作为用户你可以删除该消息或标为已读

在现实中如何实现?表如何设计?

以前我的做法是用户界面去读取统一的系统消息,但这样用户无法个性化操作,要么系统把消息删除,要么保持显示,而用户无法操作。

难道每次向全体用户发消息,都要在消息表中为每个用户生成一条记录才好控制?如果用Cookie来控制的话,好像也不是很好。比如用户已经读过的一条消息 ,清空cookie后又变为未读了。





------解决方案--------------------
菜鸟猜想
建个表保存用户对消息的操作情况
op_m表
uid用户id
mid操作的消息的id
op_tid操作类型id(删除,已读等)


msg表
mid消息id
mct消息内容

op_type表
t_id类型id
op_t类型

管理页发消息到msg表,用户界面显示消息时,先找op_m表,如找不到记录,显示消息,如找到且op_t为删除,则不显示