群发短消息!

heaton0720 2004-04-02 04:10:31
我想问问,怎么实现群发短消息的功能

就是每个用户登陆网站,收到系统发给他的短消息!!
...全文
111 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
heaton0720 2004-04-05
  • 打赏
  • 举报
回复
555555555,高手呢,指点一下嘛!
xxrl 2004-04-05
  • 打赏
  • 举报
回复
楼主还没有明白?
heaton0720 2004-04-03
  • 打赏
  • 举报
回复
怎么没人回答我呢?!!帮帮我啊!!!
heaton0720 2004-04-02
  • 打赏
  • 举报
回复
有点不明白,不可以这样么,就一个表
消息表MsgTable:
ID,UserIDList,Content,CreateTime

如果有某个用户读了该短消息,就在UserIDList中插入userid
每次用户登陆后,in 这个UserIDlist,如果有,就说明读过了!

为什么还有个
消息读取表MsgIsReadTable:
ID,MsgID,UserID,CreateTime
呢??

这点我确实还不明白!1
breakshow 2004-04-02
  • 打赏
  • 举报
回复
同意xijupony(吾不知鱼),要再建一个表记录用户是否已经读了短消息.
xijupony 2004-04-02
  • 打赏
  • 举报
回复
有关这个的问题,如果需要判断用户是否已读某条消息,必须另外建立一个table。
消息表MsgTable:
ID,UserIDList,Content,CreateTime
消息读取表MsgIsReadTable:
ID,MsgID,UserID,CreateTime

UserIDList须是这样的结构"*UserID*UserID*UserID*UserID*"
SQL语句可以这样写:
userid = 1
sql = "Select ID,Content,CreateTime From MsgTable Where UserIDList like '%*" & userid &"*%' And ID Not in (Select MsgID From MsgIsReadTable Where UserID="&userid&")"

解决方法二
每一个用户建立一条相同的消息,不使用UserIDList这样的方式记录数据,这样就可以在消息表中建立是否已读的bit字段了。

两种解决方法,第一种,数据添加方便,数据记录相对较小,但是SQL语句执行效率不高,因为使用了like。第二种,数据记录比较大,添加也比较麻烦,但是SQL语句很容易写。。

搂主看着办吧,到底是牺牲空间还是牺牲效率。我来选我会选择第二种方法。另外,如果是消息,不要用text类型,那样太庞大。试想只是消息而已,用得着用那么大的字段类型来存储数据吗?可以限定消息的长度的。
heaton0720 2004-04-02
  • 打赏
  • 举报
回复
什么意思啊,不是很明白啊!
xxrl 2004-04-02
  • 打赏
  • 举报
回复
那就在设置一个字段,text类型的,里面用userid,userid,userid,userid,userid,userid的形式不就可以了?用sql语句IN一下不就解决了?
skywatcher 2004-04-02
  • 打赏
  • 举报
回复
给每个用户对应一个映射好了,没有放数据的地方怎么可能啊
heaton0720 2004-04-02
  • 打赏
  • 举报
回复
问题是,我怎么判断它是否读了消息,假如在消息表里设个标志,但是一个人读了,另外一个人不就不能读了?!应该明白我的意思吧!
xxrl 2004-04-02
  • 打赏
  • 举报
回复
偶倒 扫描数据库不就可以吗?用户一访问那个网页,就识别他的cookie,然后发不就ok?

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧