首页 新闻 搜索 专区 学院

别人回复你,你得到提示信息

0
悬赏园豆:50 [已关闭问题]

好比你留言了,别人回复你的留言,然后你在自己的空间看到该留言提示信息。还有就是像QQ空间个人中心里的好友动态。我想应该不是通过新建一个表保存的吧。

请问大致的解决思路。能有简单的demo最好,留地址也行。

CodeCore的主页 CodeCore | 初学一级 | 园豆:150
提问于:2009-11-03 18:59
< >
分享
其他回答(4)
0

应该要建立TABLE吧.

woody.wu | 园豆:3621 (老鸟四级) | 2009-11-03 20:54
0

这个信息应该是通过一个表的形式来保存的,因为你可以查看今天之前的一些数据,所以这样子的他一定是有过保存的,不然是没办法的。

西越泽 | 园豆:10713 (专家六级) | 2009-11-04 00:24
0

建立一张表,专门存储这样的提示消息,设置一个外键和消息关联。

天堂口 | 园豆:514 (小虾三级) | 2009-11-05 10:53
0

我实现的方法大概有两种

一是:在页面内加入对数据库的定时触发即可

JS一般需要XMLHttpRequest, 比如

var Msg_Request;

window.onload = function() {
    //对IE7 FF 有效
try {
     Msg_Request = new XMLHttpRequest();
     }
    catch (e) {
        //继续尝试 IE6
        try {
             Msg_Request = new ActiveXObject("Microsoft.XMLHTTP");              
        }
        catch (e) {
            alert("您当前的浏览器不支持异步通讯!");
        }
    }
}


// 发送(你只要定时触发这个就行)
function Msg(Value) {
    Msg_Request.open("GET", "UserMsg.aspx?Value=" + escape(Value), true);
    Msg_Request.onreadystatechange = _PastBackDo;      
    Msg_Request.setRequestHeader("content-type", "text/xml;charset=GB2312");
    Msg_Request.send(null);
}

//触发后返回值(比如更新你所指定的消息DIV区域等)
function _PastBackDo() {
    if (Msg_Request.readyState == 4) {
        document.getElementById("Msg_DIV").innerHTML = LoginName_Request.responseText;
    } else {
        document.getElementById("Msg_DIV").innerHTML = "请求中...";
    }
}

定时可以用

setTimeout(...);

OR

setInterval(Msg(document.getElementById("...").value) ,1000);


这里的 UserMsg.aspx需要根据用户URL请求判断该是查询数据还是返回结果,存储等

 

二是:ScriptManager --- 》 Timer  触发事件这个比较容易实现

江山万里起风云 | 园豆:100 (初学一级) | 2009-11-15 15:48
别人回复了,数据库里不就有了吗 然后上面那个UserMsg.aspx根据当前登录用户的ID取出最新消息的不就行了吗....
支持(0) 反对(0) 江山万里起风云 | 园豆:100 (初学一级) | 2009-11-15 16:09
0

专门的表,还可以对消息分类,这个表还需要定期清清掉一些旧记录,防止记录过多

canbeing | 园豆:1287 (小虾三级) | 2009-11-18 12:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册