各位高手,怎样才能让这个程序快点执行?

horsexiu 2004-04-09 09:47:18
这个是个四级联动程序,是从别人那里得来的,当数据库数据有几千条时,每次打开这个程序都反映好长时间,才显示出.怎么样才能让速度快点呢?希望赐教
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>多级关联菜单数据库版(好像是阿信做的)</title>
<!--
数据库:test.mdb
表:dbselect
表结构:id(自增) school(文本) department(文本) grade(文本) student(文本)
IE6,NS7,Mozilla下测试通过
-->
</head>
<body>
<form name="frm">
<select name=school onchange="MulSelect(1)"></select>
<select name=department onchange="MulSelect(2)"></select>
<select name=grade onchange="MulSelect(3)"></select>
<select name=student></select>
</form>
<script>
var arrSel=["school","department","grade","student"]
arrData=[];
<%
dim conn,rs

set conn=server.createobject("adodb.connection")
conn.open "test"

set rs=conn.execute("select * from dbselect")
do while not rs.eof
%>
arrData[arrData.length]=["<%=trim(rs("school"))%>","<%=trim(rs("department"))%>","<%=trim(rs("grade"))%>","<%=trim(rs("student"))%>"]
<%
rs.movenext
loop
rs.close:set rs=nothing
conn.close:set conn=nothing
%>
</script>
<script>
function MulSelect(num){
var i,j,arrTemp=[];
for(i=0;i<num;i++)arrTemp[i]=eval("document.frm."+arrSel[i]).value
if(num<arrSel.length)
with(eval("document.frm."+arrSel[num])){
length=0
for(i=0;i<arrData.length;i++){
var find=false
for(j=0;j<num;j++)if(arrTemp[j]!=arrData[i][j])break;
if(j!=num)continue;
for(m=0;m<options.length;m++)if(options[m].text==arrData[i][num])find=true
if(length==0||!find){
options[options.length]=new Option(arrData[i][num],arrData[i][num])
}
}
MulSelect((num+1))
}
}
MulSelect(0)
</script>

</body>
</html>
...全文
4 点赞 收藏 1
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
horsexiu 2004-04-12
问题已经解决
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告