分享
 
 
 

学校教学网站应用设计

王朝html/css/js·作者佚名  2006-11-23
窄屏简体版  字體: |||超大  

这里我们介绍学校教学网站应用设计,包括联考线上查榜系统、学生成绩线上查询系统、线上学校注册选课系统、研讨会线上报名系统、网路教学系统等应用的点子、设计实例、以及详细解说,让您快速地设计出各种学校教学的网站应用。

学校网站资料库应用

教学上使用网站资料库,可以透过Internet、或Intranet提供以下的应用∶

* 联考线上查榜*

* 线上查询成绩单、或出勤状况*

* 线上学校注册选课*

* 研讨会线上报名*

* 网路教学

右上角标示*的应用,本节将提供设计的范例,并详加解说。

执行本章资料库的范例,所用的资料库可为Microsoft Access、Microsoft SQL Server、或Text档案(读者可修改成其他支援ODBC的资料库,详见1-6-5节),须於NT安装IIS 3.0,并於「控制台」中的「ODBC」,新建一个名称为「BookSamp」的资料来源,驱动程式为「Microsoft Access Driver」、「SQL Server」、或「Microsoft Text 驱动程式」。

5-1

联考线上查榜系统

「联考线上查榜系统」,可以透过Internet,提供线上查榜成绩和放榜结果的功能。

放榜时,考生可以透过Internet、或Intranet,连线上学校的「联考线上查榜系统」,输入准考证编号,查询各种考试(譬如联考、研究所、就业考等)放榜的结果,包括成绩、和考取科系等

资讯。

设计实例

让我们执行一个实例。

( 范例 data1.asp 联考线上查榜

若要查询资料,於用户端使用浏览器,浏览本书所附安装於网站伺服器的data1.asp,於「准考证编号」处输入准考证编号後,譬如输入准考证编号123456,按下「查榜」按钮,即可显示查询的结果如下,包括姓名、总分、考上科系∶

放榜时,几家欢乐几家愁,也有人落榜的,输入准考证编号123457,显示「没考上」如下∶

输入错误的准考证编号时,必须告诉人家,譬如输入准考证编号654321,显示「找不到」如下∶

设计实例详细解说

建立资料表

首先使用Microsoft Access、Microsoft SQL Server 、Text档案、或任何一种支援ODBC的资料库,建立一个资料表School。

使用Microsoft Access建立一个资料表School,如下∶

於栏名NAME、ID、SCORE、RESULT分别输入姓名、准考证编号、总分、考上科系,考上科系若为落榜时,输入「X」。

或使用Microsoft SQL Server建立一个资料表School,如下∶

或使用Text档案建立一个资料表School,如下∶

设计输入表单

接著,设计输入表单form,以让考生输入准考证编号ID1,按下「查榜」按钮submit时,即使用POST的方式将输入资料传送到网站伺服器,并执行於「form action=...」所设定的data1.asp档

案(与form为同一个ASP档案),程式码如下∶

<form action="data1.asp" method="post">

准考证编号: <INPUT TYPE=TEXT VALUE="123456" NAME=ID1 SIZE=10>

<INPUT TYPE=submit VALUE="查榜" name="Action">

</form>

网站伺服器执行data1.asp档案,首先经由Request.Form("ID1")取得考生所输入的准考证编号ID1,若ID1非空白时,表示为表单输入所呼叫执行。

查询资料库

使用「Server.CreateObject」建立连线的物件,并使用「Open」开启待存取查询资料库

BookSamp。

再使用SELECT的SQL指令查询资料库的资料,设定SQL指令,查询为ID符合准考证编号Request.Form("ID1")的资料,下个「Execute」指令,即可开始执行存取查询资料库的动作,并将查询结果储存到RecordSets物件RS。

程式码如下∶

<%

IF Request.Form("ID1") THEN

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "BookSamp","sa",""

SQL = "SELECT NAME,ID,SCORE,RESULT FROM School WHERE ID='" & Request.Form("ID1") &

"'"

Set RS = Conn.Execute(SQL)

%>

<HR>

查榜结果:<br>

接著,要显示查询的结果了。

首先,由「 IF RS.EOF THEN ...」判断是否找到ID为准考证编号Request.Form("ID1")的资料,若RS.EOF为TRUE,则显示「找不到此准考证编号」。

若RS.EOF为FALSE表示有找到符合查询条件的资料,由「IF RS(3)="X" THEN...」判断第四个栏位(栏位编号由0算起)是否为「X」(表示落榜)。若落榜( RS(3)="X"),则显示「报歉 <%=RS(0) %>, 没考上!」,RS(0)为第一个栏位代表考生的姓名。

程式码,如下∶

查榜结果:<br>

<% IF RS.EOF THEN %>

<FONT COLOR="#FF0000">找不到此准考证编号 <% =Request.Form("ID1") %> !</FONT>

<% ELSE %>

<% IF TRIM(RS(3))="X" THEN %>

准考证编号 <% =Request.Form("ID1") %> <BR>

<FONT COLOR="#FF0000">报歉 <% =RS(0) %>, 没考上!</FONT>

若考上,则显示考上的结果,包括姓名、准考证编号、总分、考上科系,分别由RecordSets物件的RS(0)、RS(1) 、RS(2)、RS(3) 取得。

RS.Fields.Count表示RecordSets物件的栏位数,由「For i = 0 to RS.Fields.Count - 1」取得RS(i) 各栏位的资料。配合<TABLE>表格的HTML语法,将结果填入表格的各栏位当中。

若还有下一笔资料,使用RS.MoveNext移到下一笔的位置。

程式码,如下∶

<% ELSE %>

<FONT COLOR="#0000FF">

准考证编号 <% =Request.Form("ID1") %> <BR>

<% =RS(0) %>, 恭喜您考上 <% =RS(3) %> !<BR>

</FONT>

<TABLE COLSPAN=8 CELLPADDING=5 BORDER=1>

<TR>

<TD BGCOLOR="#800000"><FONT>姓名</FONT></TD>

<TD BGCOLOR="#800000"><FONT>准考证编号</FONT></TD>

<TD BGCOLOR="#800000"><FONT>总分</FONT></TD>

<TD BGCOLOR="#800000"><FONT>考上科系</FONT></TD>

</TR>

<% Do While Not RS.EOF %>

<TR>

<% For i = 0 to RS.Fields.Count - 1 %>

<TD BGCOLOR="f7efde" VALIGN=TOP><FONT COLOR="#0000"><% = RS(i) %></FONT></TD>

<% Next %>

</TR>

<%

RS.MoveNext

Loop

RS.Close

Conn.Close

%>

</TABLE>

<% END IF %>

<% END IF %>

<HR>

<% END IF %>

最後,使用RS.Close关闭RecordSet,使用Conn.Close关闭资料库。

全部的程式码,如下∶

<HTML>

<HEAD>

<TITLE>联考线上查榜系统</TITLE>

<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=big5">

</HEAD>

<CENTER>

<BODY BGCOLOR=#FFFFFF>

<FONT SIZE=+2 COLOR="#0000FF">联考线上查榜系统</FONT>

<%

IF Request.Form("ID1") THEN

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "BookSamp","sa",""

SQL = "SELECT NAME,ID,SCORE,RESULT FROM School WHERE ID='" & Request.Form("ID1") & "'"

Set RS = Conn.Execute(SQL)

%>

<HR>

查榜结果:<br>

<% IF RS.EOF THEN %>

<FONT COLOR="#FF0000">找不到此准考证编号 <% =Request.Form("ID1") %> !</FONT>

<% ELSE %>

<% IF TRIM(RS(3))="X" THEN %>

准考证编号 <% =Request.Form("ID1") %> <BR>

<FONT COLOR="#FF0000">报歉 <% =RS(0) %>, 没考上!</FONT>

<% ELSE %>

<FONT COLOR="#0000FF">

准考证编号 <% =Request.Form("ID1") %> <BR>

<% =RS(0) %>, 恭喜您考上 <% =RS(3) %> !<BR>

</FONT>

<TABLE COLSPAN=8 CELLPADDING=5 BORDER=1>

<TR>

<TD BGCOLOR="#800000"><FONT>姓名</FONT></TD>

<TD BGCOLOR="#800000"><FONT>准考证编号</FONT></TD>

<TD BGCOLOR="#800000"><FONT>总分</FONT></TD>

<TD BGCOLOR="#800000"><FONT>考上科系</FONT></TD>

</TR>

<% Do While Not RS.EOF %>

<TR>

<% For i = 0 to RS.Fields.Count - 1 %>

<TD BGCOLOR="f7efde" VALIGN=TOP><FONT COLOR="#0000"><% = RS(i) %></FONT></TD>

<% Next %>

</TR>

<%

RS.MoveNext

Loop

RS.Close

Conn.Close

%>

</TABLE>

<% END IF %>

<% END IF %>

<HR>

<% END IF %>

<BR>

<form action="data1.asp" method="post">

准考证编号: <INPUT TYPE=TEXT VALUE="123456" NAME=ID1 SIZE=10>

<INPUT TYPE=submit VALUE="查榜" name="Action">

</form>

<HR>

</CENTER>

</BODY>

</HTML>

学会了吗?

5-2

学生成绩线上查询系统

「学生成绩线上查询系统」,可以透过Internet,提供查询成绩、出勤状况的功能。

家长或学生,可以透过Internet,连线上学校的「学生成绩线上查询系统」,输入学号,查询成绩单、名次。

也可以加上出勤状况的线上查询功能。若学生没有来上课,可自动发E-Mail通知家长。家长可以线上查询家庭作业,以及老师对其子女的建议。家长也可线上留言给老师一些教学上、管教上的建议。

设计实例

让我们执行一个实例。

( 范例 data4.asp 学生成绩线上查询

若要查询资料,於用户端使用浏览器,浏览本书所附安装於网站伺服器的data4.asp,於「学号」处输入学号,譬如输入学号123456後,按下「成绩查榜」按钮,即可显示查询的结果如下,包括姓名、各科成绩、总分∶

输入错误的学号时,必须告诉人家找不到,譬如输入学号123123,显示「找不到」如下∶

设计实例详细解说

建立资料表

首先使用Microsoft Access、Microsoft SQL Server 、Text档案、或任何一种支援ODBC的资料库,建立一个资料表Student。

於栏名NAME、ID、SCORE1~5分别输入姓名、学号、各科成绩。

使用Microsoft Access建立一个资料表Student,如下∶

或使用Microsoft SQL Server建立一个资料表Student,如下∶

或使用Text档案建立一个资料表Student,如下∶

设计输入表单

接著,设计输入表单form,以让查询者输入学号ID1,按下「成绩查询」按钮submit时,即使用POST的方式将输入资料传送到网站伺服器,并执行於「form action=...」所设定的data4.asp档案(与form为同一个ASP档案),

程式码如下∶

<form action="data4.asp" method="post">

学号: <INPUT TYPE=TEXT VALUE="123456" NAME=ID1 SIZE=10>

<INPUT TYPE=submit VALUE="成绩查询" name="Action">

</form>

网站伺服器执行data4.asp档案,首先经由Request.Form("ID1")取得查询者所输入的学号ID1,若ID1非空白时,表示为表单输入所呼叫执行。

查询资料库

使用「Server.CreateObject」建立连线的物件,并使用「Open」开启待存取查询资料库BookSamp。

再使用SELECT的SQL指令查询资料库的资料,设定SQL指令,查询为ID符合学号

Request.Form("ID1")的资料,下个「Execute」指令,即可开始执行存取查询资料库的动作,并将查询结果储存到RecordSets物件RS。

程式码如下∶

<%

IF Request.Form("ID1") THEN

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "BookSamp","sa",""

SQL = "SELECT ID,NAME,SCORE1,SCORE2,SCORE3,SCORE4,SCORE5 FROM Student WHERE ID='" &

Request.Form("ID1") & "'"

Set RS = Conn.Execute(SQL)

%>

<HR>

查询结果:<br>

接著,要显示查询的结果了。

首先,由「 IF RS.EOF THEN ...」判断是否找到ID为学号Request.Form("ID1")的资料,若

RS.EOF为TRUE,则显示「找不到此学号」。

程式码,如下∶

查询结果:<br>

<% IF RS.EOF THEN %>

<FONT COLOR="#FF0000">找不到此学号 <% =Request.Form("ID1") %> !</FONT>

若找到ID为学号Request.Form("ID1")的资料,则显示查询结果,包括姓名、各科成绩,分别由RecordSets物件的RS(0)、RS(1)、RS(2)~RS(6) 取得。

总分的计算,由「If Left(RS(i).Name,5) = "SCORE" Then...」判断是否以SCORE为起头的栏位,若是则由「 total = total + RS(i) 」将各科成绩加总起来。RS.Fields.Count表示RecordSets物件的栏位数,由「For i = 0 to RS.Fields.Count - 1」取得RS(i) 各栏位的资料。配合<TABLE>表格的HTML语法,将结果填入表格的各栏位当中。

若还有下一笔资料,使用RS.MoveNext移到下一笔的位置。

程式码,如下∶

<% ELSE %>

<FONT COLOR="#0000FF">

学号 <% =Request.Form("ID1") %> <BR>

<% =RS(1) %>, 成绩为下表:<BR>

</FONT>

<TABLE COLSPAN=8 CELLPADDING=5 BORDER=1>

<TR>

<TD BGCOLOR="#800000"><FONT>学号</FONT></TD>

<TD BGCOLOR="#800000"><FONT>姓名</FONT></TD>

<TD BGCOLOR="#800000"><FONT>数学</FONT></TD>

<TD BGCOLOR="#800000"><FONT>英文</FONT></TD>

<TD BGCOLOR="#800000"><FONT>国文</FONT></TD>

<TD BGCOLOR="#800000"><FONT>自然</FONT></TD>

<TD BGCOLOR="#800000"><FONT>社会</FONT></TD>

<TD BGCOLOR="#800000"><FONT>总分</FONT></TD>

</TR>

<% Do While Not RS.EOF %>

<TR>

<%

total = 0

For i = 0 to RS.Fields.Count - 1

If Left(RS(i).Name,5) = "SCORE" Then

total = total + RS(i)

End If

%>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% = RS(i) %></FONT></TD>

<% Next %>

<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% = total %></FONT></TD>

</TR>

<%

RS.MoveNext

Loop

RS.Close

Conn.Close

%>

</TABLE>

<% END IF %>

[1] [2] [3] [4] [5] [6] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有