php 站内信提醒怎么做???
我想写个站内信(扔纸条),但提醒不知道怎么写??就是类似于“新纸条(+1)”中的那个括号中的内容,然后当用户查看过消息后,括号中的内容就没有了。我的想法是先弄个“纸条表”...
我想写个站内信(扔纸条),但提醒不知道怎么写??就是类似于“新纸条(+1)”中的那个括号中的内容,然后当用户查看过消息后,括号中的内容就没有了。我的想法是先弄个“纸条表”,然后把相关字段搞定,最后再加“状态”,然后在括号中读取数据库中的未读状态的,但不知道在用户改过后怎么能把那个“未读”的状态改为“已读”,就是没有那个括号中的内容。不知道我说的请不清楚,我想用ajax,但我对ajax不熟,不管用什么把。请问有会的吗???教教我吧,如果可以的,最好是写一个简单的例子,让我明白其原理和过程,谢谢了,
展开
2013-08-04
展开全部
给你提供一个简单的思路 !其实你的思路有些片面了 真正完善的做法 不应伏脊该是亩拍这样的哦!
你可以建立两张表 收信箱 发信箱! 当用户A给用户B 发送一个消息之后 同时对两张表执行insert 操作!初始状态为 未读!
用户B 只要实时的 用js去请求 一个固定的页面 假使 此页面定为 Msg.State.php (功能呢 主要是获取当前用户的消息数目 状态等等便于 实时显示) js设定时间 每20秒去请求一次 返回未显示的消息数目 用于前台显示
用户B 查看消息的时候需要新开页面 这个页面暂定 check.msg.php 用于查看 消息 主要功能为更改消息状态 删除 未读 已读 下面主要是针对 消息状态的处理了 用户B 可以对用户A的消息执行删除操作 但系统消息不可被删除 (可以处于删除状态) 当用户B 查看消息的时候 将此消息标记为已迅厅羡读 此时可以js 去再次请求 Msg.State.php页面 传出动作 update 去执行 update操作 更改消息状态 并尝试刷新 check.msg.php页面
下面给出 js请求页面的实现方法!至于实例化 ajax的对象我就不写了
var ajax=null;
function show(){
var hello_obj=document.getElementById("hello");
ajax=createAjax();//初始化ajax对象
ajax.onreadyStateChange=function(){
if(ajax.readyState==4){
if(ajax.status==200){
var data=ajax.responseText;
hello_obj.innerHTML=data;
}else{
alert("页面请求失败");
}
}
}
ajax.open("post","Msg.State.php",true);//打开服务器 指定传递方式为post
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded ");这个是发送页头
ajax.send("参数=用户编号");//发送数据
}
</script>
<input type="button" onClick="show()" value="request">
<div id="hello" style="width:500; height:200; background-color:#FFFF00"></div>
你可以建立两张表 收信箱 发信箱! 当用户A给用户B 发送一个消息之后 同时对两张表执行insert 操作!初始状态为 未读!
用户B 只要实时的 用js去请求 一个固定的页面 假使 此页面定为 Msg.State.php (功能呢 主要是获取当前用户的消息数目 状态等等便于 实时显示) js设定时间 每20秒去请求一次 返回未显示的消息数目 用于前台显示
用户B 查看消息的时候需要新开页面 这个页面暂定 check.msg.php 用于查看 消息 主要功能为更改消息状态 删除 未读 已读 下面主要是针对 消息状态的处理了 用户B 可以对用户A的消息执行删除操作 但系统消息不可被删除 (可以处于删除状态) 当用户B 查看消息的时候 将此消息标记为已迅厅羡读 此时可以js 去再次请求 Msg.State.php页面 传出动作 update 去执行 update操作 更改消息状态 并尝试刷新 check.msg.php页面
下面给出 js请求页面的实现方法!至于实例化 ajax的对象我就不写了
var ajax=null;
function show(){
var hello_obj=document.getElementById("hello");
ajax=createAjax();//初始化ajax对象
ajax.onreadyStateChange=function(){
if(ajax.readyState==4){
if(ajax.status==200){
var data=ajax.responseText;
hello_obj.innerHTML=data;
}else{
alert("页面请求失败");
}
}
}
ajax.open("post","Msg.State.php",true);//打开服务器 指定传递方式为post
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded ");这个是发送页头
ajax.send("参数=用户编号");//发送数据
}
</script>
<input type="button" onClick="show()" value="request">
<div id="hello" style="width:500; height:200; background-color:#FFFF00"></div>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询