MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » 站内信 数据库表 是否浏览字段,该怎么处理

站内信 数据库表 是否浏览字段,该怎么处理

www.MyException.Cn  网友分享于:2013-01-16  浏览:123次
站内信 数据库表 是否浏览字段
前几天在论坛上问了一个问题
关于如何设计站内信的;

具体是这样:管理员可以向注册用户发送站内信,注册用户可以接受、浏览、删除站内信

当时的答案是:

如果不需要实时的话那比较方便一些

管理员向用户发站内消息,实际上也就是把消息存到数据表中去,当用户登录时到这张表中
去找找看看是否有人给自己留言了,并且是未读的,有的话在界面的某个地方提示一下,以
便用户能点击查看留言列表,当用户点开留言时表示该留言已被读取,同时更新数据表中该
留言的读取状态。

如果需要实时的话那就比较麻烦一些,采用 Ajax 轮询那张表,可以把轮询间隔设成 1 分钟
一次或者是几分钟一次。
[b][/b]

后来仔细的想了想,大概的意思或者做法懂了,可是有一个问题还没想到怎么解决……

比如在站内信的表里设置一个int类型的值表示该站内信是否已读(比如0表示未读,1表示已读)
那么如何在用户浏览站内信的页面判断一封站内信是否为已读呢???
然后每个用户的情况不一样,显示的站内信内容也不一样,这个问题该怎么解决呢???
严重疑惑中……


------解决方案--------------------
比如在站内信的表里设置一个int类型的值表示该站内信是否已读(比如0表示未读,1表示已读) 
那么如何在用户浏览站内信的页面判断一封站内信是否为已读呢??? 
然后每个用户的情况不一样,显示的站内信内容也不一样,这个问题该怎么解决呢??? 
严重疑惑中…… 


這個簡單阿、你在頁面不是得到了一個list麼 在遍曆list bean對象取出表示為是否已讀的那個字段。

判斷它的值為1怎樣 為0怎樣?明白沒有?
------解决方案--------------------
然后每一条站内信后面有一个“标记为已读”的链接,当用户点击此链接时,怎么修改这一条站内信的已读/未 

读属性呢? 

當用戶點擊的時候是不是要跳轉到寧外一個頁面和Action去。你把這個ID帶到Action裏面做數據庫操作改變它的值不就可以了麼。同時查處屬於這條ID的一條內容?
------解决方案--------------------
你这个表如果是把邮件发给两个人其中一个人读了一个没有读,那你怎么显示?还得一个收件人ID及邮件ID的表.
------解决方案--------------------
探讨
csdn 也不过如此

------解决方案--------------------
我也在做一个有相同功能的系统.
如果没有针对用户的一个表,
问题解决不了.
这个表应该包括消息的主键,用户的ID和消息的状态
------解决方案--------------------
对于全局站内信,可以单独做一个表。而不是像一对一的短信那样

表A 为站内短信表,假设为MSGID,MSG
表B 为站内短信跟踪表 MSGID,USERID,STATE,READTIME

列表现时分成两部分处理
先取表A的数据,然后取B的数据,根据B表中的数据处理A的数据,设置为未读、已读或者设置为删除则不显示。

其实处理跟你前面的差不多,只是表不同。


------解决方案--------------------
应该再做一个用户和系统信件的表啊。否则根本不可能处理这个事情的。
------解决方案--------------------
SQL code
--- 环境 SQL Server 2005
create table t_note -- 短信表
(
  note_id  numeric(18,0) primary key identity not null, -- 主键
  note_man numeric(18,0), -- 用户ID
  note_title varchar(100), -- 短信标题
  note_content varchar(200), -- 短信内容
  note_date  char(19),  -- 时间
  flag   char(1),  --标示(1未读 2已读)
)
--- 增加一条短信(未读),它是针对用户ID为1的用户的
insert into t_note 
values(1,'欢迎新用户','**用户欢迎您使用**系统…………',SUBSTRING(CONVERT(VARCHAR(19),GETDATE(),121),1,19),'1')
--- 用户1查看了该短信
select * from t_note where flag = 1 and note_man = 1 
--- 立即将其flag修改为2
update t_note set flag = '2' where note_man = 1 and note_id = 1
--- 这是用 select * from t_note where flag = 1 and note_man = 1 查询不到了
--  结束了。不只我的理解对不?

------解决方案--------------------
這個簡單阿、你在頁面不是得到了一個list麼 在遍曆list bean對象取出表示為是否已讀的那個字段。 

判斷它的值為1怎樣 為0怎樣?明白沒有? 


在数据库里的站内信肯定都是未读的吧,假如用户接收站内信的页面有一个方法得到数据库里的站内信,刚开 

始是全部显示的 

然后每一条站内信后面有一个“标记为已读”的链接,当用户点击此链接时,怎么修改这一条站内信的已读/未 

读属性呢
------解决方案--------------------
用两个表嘛 一个信息表用来储存信息相关属性 另一个使用msgId作为主键和userId等作为用户表 

已读和未读信息在用户表中标记 查询时根据用户表读取信息表的内容

可以了吧
------解决方案--------------------
打开收件箱的时候遍历所有数据 点击未读新建时 即查询单条数据时 在查询之后加一步update 将标记置1
------解决方案--------------------

要想功能越来越强大,至少需要两个表:一个信件表;一个需要读取信件的用户表。

如只是要把消息发给在线的用户,则可用一全局变量对象存储消息及其阅读权限等,

直接在全局变量读取。(临时数据不需做永久记录的)。

文章评论

Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
总结2014中国互联网十大段子
总结2014中国互联网十大段子
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
程序员必看的十大电影
程序员必看的十大电影
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
编程语言是女人
编程语言是女人
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
鲜为人知的编程真相
鲜为人知的编程真相
程序员的鄙视链
程序员的鄙视链
Java程序员必看电影
Java程序员必看电影
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
如何成为一名黑客
如何成为一名黑客
程序员和编码员之间的区别
程序员和编码员之间的区别
旅行,写作,编程
旅行,写作,编程
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
程序员应该关注的一些事儿
程序员应该关注的一些事儿
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
漫画:程序员的工作
漫画:程序员的工作
那些争议最大的编程观点
那些争议最大的编程观点
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
每天工作4小时的程序员
每天工作4小时的程序员
程序员都该阅读的书
程序员都该阅读的书
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
老程序员的下场
老程序员的下场
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
我是如何打败拖延症的
我是如何打败拖延症的
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
中美印日四国程序员比较
中美印日四国程序员比较
 程序员的样子
程序员的样子
10个调试和排错的小建议
10个调试和排错的小建议
我的丈夫是个程序员
我的丈夫是个程序员
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有