邮件功能总结

来源:互联网 发布:linux 查看gpu使用率 编辑:程序博客网 时间:2024/05/22 00:28

1、邮件的无刷新提示新邮件功能

利用xmlhttp循环访问数据库实现,1分钟执行一次,xmlhttp方法参考上一篇文章,用到的访问数据库函数function check_email($user_name){}

传参为登陆用户名(此用户名存在$_SESSION['u_name'']里面),函数返回未读邮件数目.

2、收件列表展示功能

1、分页显示功能

从数据库读取用户收到的邮件结果集$result,用到的函数为function receive_email($user_name),返回收到的邮件结果集(包括已读和未读),(为了节省访问数据库的量,这个函数应该是在打开收件箱时执行一次,下次我会改进),从$result中用php提供的函数mysql_num_rows($result)取得收件数目,算出共有几页(设定一页显示4个结果),再算出本页要显示的是第$now_count个到第$end_count个的邮件,再用select * from emails where consignee_name='user_name' limit $now_count, $end_count数据库访问语句取得要显示的邮件,用到的函数是function now_result($user_name,$now_count,$end_count){},返回结果集$now_result,然后用while ($row=mysql_fetch_row($now_result))循环读取每条记录的数据,判断是否已读,动态调用不同div。

2、分页的处理

为了下面的删除功能,分页的时候要给动态生成的div,和复选框命名,我这里复选框的value就是 相应div 的id,都为相应邮件的id,复选框的名字我定为email_box

3,邮件删除功能

为了无刷新删除,还是用到xmlhttp,删除的同时要删除这个邮件相应的div,js删除div的方法是

var d = document.getElementById("div_id");
d.parentNode.removeChild(d);

js 判断复选框被选中的方法是:

var count=document.getElementsByName("email_box");

for (var i=0;i<count.length;i++){    
            if (count[i].checked){    //判断是否选中

var value=count[i].value;//取value的方法

}

我把邮件的id连成一个字符串,用"/"分隔,交给del_email.php处理,它先用explode("/",$ids);函数分割出邮件id,再统一删除


删除 div的功能需要注意,打个比方,你拿了4个div 的id,你不能用for循环一次删除4个div,你要用4个for循环来实现(每个for循环都要重新读取email_box的值,这是我想的方法,正不正统不晓得,我想是因为如果删了一次div,会影响其他div的布局,导致有些div的删除失败)

             




原创粉丝点击