您的位置:首页 > 运维架构 > 网站架构

PHP中网站OA功能的简单实现

2008-05-03 22:21 736 查看
用PHP做一个网站的OA功能

需要实现文件的群发和单独发送,以及文件收件方的反馈信息

由于需要经常用到群发功能,考虑建两个数据表

一个表存储每一个邮件信息,包含邮件主内容,标题,发送人,发送标签(如果收件人全部已读则置为1,未读为0)等.

另一个表存储邮件的收件人,包含,指向第一个表中对应邮件的邮件ID,收件人,发送人,发送标签,阅读时间,反馈信息等.

发送流程为:

1.将信息主内容存储到第一个表中,取出ID

2.根据选择的收件人信息,取出每个收件人ID,存入数组.

在前台,收件人选择是一个菜单框存储收件人群组,另两个多选列表框储存收件人.一个待选,一个已选.

由于多选列表框的值为数组形式难以兼顾前台和后台处理,所以另外还有一个隐藏文本存储已选择的收件人以字符串形式存储提交给后台处理

功能为既可以发送群组又可以发送个人,还可以同时发送.双击待选列表框中的收件人,可以把人员ID添加到收件人列表中.

相关前台JS函数代码如下:

function moveoption(e1,e2)
{
try
{
for(var i=0;i<e1.options.length;i++)
{
if(e1.options[i].selected)
{
var e=e1.options[i];
e2.options.add(new Option(e.text,e.value));
e1.remove(i);
i=i-1
}
}
document.myform2.pp.value=getvalue(document.myform2.list2);

}
catch(e){}
}
function getvalue(geto){
var allvalue = "";
for(var i=0;i<geto.options.length;i++){
allvalue +=geto.options[i].value + ",";
}
return allvalue;
}

函数调用方法为在待选收件人列表框list1加上onclick事件

moveoption(document.myform2.list1,document.myform2.list2)

已选收件人列表框加入onclick事件moveoption(document.myform2.list2,document.myform2.list1)

这样提交时收件人ID就以字符串的形式交给后台处理了.

后台处理时需要还原成数组形式

$peoples= explode(",", "$pp");

根据收件人群组取出的收件人存储在另一个数组中,比如是$peoples2

需要将两者合并:

$send=array_merge($peoples,$peoples2);

这样所有收件人信息存储在了一个数组中.用递归函数即可在第二张表中为每个收件人存入相关信息.

收件时,搜索第二张表中发送标签和收件人即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: