站内信息群发的简单问题(50分)

yujingfree 2008-04-13 07:09:28
当用户选择群发的时候:选择如图


选择确定的时候是用一个循环写入数据还是将如何写入数据呢?
比如信息数据表中的字段为:发件人,信息名称,收件人,是否查看,查看时间。


因为收件人是选择性群发,也就是说是按照自己的选择群发的,是不是选择几个收件人就写入几条数据呢?如何实现更好一点呢?谢谢
...全文
93 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jnwentao 2008-04-19

"同一信息只存一条信息,用一个字段存收信人,["收信息人" ¦是否查看过] "
这个方法不可取,这样只能表示它看过了
这样做的话也就是用户无法对该信息进行管理,这样发信息不如直接发公告好了

还是得每个用户一条信息
群发的SQL很简单

insert into 短消息表 (收件人ID,内容字段,发送时间) 
select 用户ID,'消息内容' as 内容字段,[now当前时间] as 发送时间 from 用户表 where 用户ID in([1,2,3,.....要发送的用户ID])


应该可以看懂吧...
回复
yujingfree 2008-04-19
那我明白了,谢谢了,要是有案例给一个是最好的了、谢谢
回复
EexeNet 2008-04-16
同一信息群发,在相应的用户信息加一条记录,表中有一个字段是否查看过的字段就可以了..如果是这样效率会低..

采用b方法,
同一信息只存一条信息,用一个字段存收信人,["收信息人"|是否查看过] 这样的话作处理效率相对来说就高了!数据就不用那么多了...如果是用户删除信息怎么的,只删除此表的收信息人
回复
yujingfree 2008-04-16
那如果要是群发的情况下如何写入数据库呢?这个问题我始终没有想明白,希望大哥帮帮忙
回复
myvicy 2008-04-15
信息表: msgid,信息内容,time
人员信息对应表:fromid,toid,msgid,flag,time

保存信息
信息用一条记录保存,然后是谁发给谁的只需要在另一个表里记录发送者id和接受者id,
确定查看
某个信息如果某人查看过设置标记以及查看时间等等
回复
yujingfree 2008-04-14
大家帮帮忙啊,拜托了
回复
yujingfree 2008-04-14
xzy21com ,这个问题我想过,但是怎么确定他有没有查看过这个信件呢,

fhbcn 可否详细告知情况,谢谢了
回复
fhbcn 2008-04-13
写一个存储过程,接收发件人,收件人(如:a,b,c),信息名称,内容,然后分割收件人列表,执行数据库添加操作。
回复
scscms太阳光 2008-04-13
我想当一条信息处理就可以,收信人名之间用,分开.收信人查看时,只要判断'收信人'里有没有他的名字即可.
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2008-04-13 07:09
社区公告
暂无公告