今日值班:
<script type=text/javascript>
function jinrizhiban(){
//把需要排班的姓名按照排班顺序写在下面一行里面就可以
var pers=new Array('张三','李四','同志1','同志2','同志3','同志4','同志5','同志6')
//调整下面的调整因子,能控制启用程序的那天由谁值班,以后都能自动更新显示
var ctrl_param=1
var now=new Date()
var days=parseInt(now.getTime()/24/3600/1000)
return pers[(days+ctrl_param) % pers.length]
}
document.write(jinrizhiban())
</script>
可以给你提供个思路,具体 *** 作还得你自己来。1、数据表设计可以设计两张表,分别是值班领导(leader)和陪同人员(companion)。在leader表内设置字段如下:ID(int,autocreat),l_Name(text,20),Post(text,50),Charge(text,100),Duty(int,1),Dutys(int,10)分别对应领导ID,姓名,职务,分管工作,值日时间,值班次数,特别是值日时间建议用整数1、2、3、4、5来表示星期一到星期五,以提高数据读取效率。陪同人员表设计请参照值班领导表字段进行设计。2、后台实现 2.1、设计程序获取当前日期和星期天数(Now(),week()) 2.2、设计程序对数据库 *** 作,以值班天数正序排出领导值班次序,例如:星期二值班的领导可能不至一位,按值班天数排序就可以知道,同样是星期二值班,值班天数多的那个领导说明上个星期二已经值过班了,如果天数刚好相等,那就以ID排序,直接读取第一个领导信息就行了。代码实现:(“select * top 1 from leader where duty=2 order by asc“)你把值班人员排成一个表 就叫做班级表吧(里面写入人员ID,记住一定要连续)然后在ASP页面里面将所有人的ID读取用一个数组存储
再加入一个方法,生成随机数,数值范围选取在你的班级表内,将数组内的所有ID打乱重新组合(这时生成一个打乱ID的数组)
你的效果达到了
最后按照周1至周5 进行一个一个的读取就好了 ,如果读完了,在进行一次这样的方法进行运算,下一次的值班表又有了。
思路写在这里,代码自己实现
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)