14.1 课前导读
14.2 课堂教学
14.3 上机练习
14.4 课后作业第 14课 网 上 调 查
14.1 课前导读在不同的应用背景下,网上调查获取用户反馈信息量不同 。 在大多数的情况下,需要使用数据库来记录网上调查所反馈的信息,这样可以完整而充分地进行统计处理 。
而在一些简单的调查中,可能只需要用户对特定的几个问题进行选择,调查的目的是获取一种统计信息,如果采用数据库的形式反而会加重 Web服务器的负担,影响 Web服务器的运行速度,这时,可以考虑使用一个文本文件来存取所收集的数据 。
更简单的情况中,只是对个别问题临时进行统计,
此时只需使用 Aplication变量即可 。
14.2 课堂教学
14.2.1 设计网上投票网页
14.2.2 改进的网上调查
14.2 课堂教学本 课 主要学习以下内容:
① 设 计 一 个 通 过 事 先 准 备 的 文 本 文 件
Result.txt,实现网上 投票 。 接收用户的选择信息,
读入文本文件的原始统计值,累加后再将统计结果保存到该文件中 。
改进的方案将 Result.txt的每项数据以回车换行符号分隔,在程序的开始判断 Result.txt是否存在,
如果存在,则逐行读出各项数据;否则,自动生成
Result.txt文件,并初始化各项数据为指定数值,这里初始化为 0。
② 在上机练习中使用数据库来实现网上投票 。
14.2.1 设计网上投票网页
1,创建投票结果文件
2,创建调查引导页面
3,创建统计主页面
14.2.1 设计网上投票网页网 上 投 票 功 能 的 实 现 由 Investigate.htm,
Investigate.asp 和 Result.txt 共 同 完 成 。
Investigate.htm是一个引导页面,接受用户的选择信息,不需要服务器中的 ASP解释程序编译,如果用户在这一阶段关闭页面,将 不运行真正实现搜索功能的 Investigate.asp页面,提高了网站的运行速度 。
Result.txt文件存储统计信息,需要以人工的方式建立 。
1,创建投票结果文件打开记事本,输入以下 内容,
A100B100C100D100
将文件以 Result.txt存盘 。
说明,A100代表选择第一个选项的次数为 100,
B100代表选择第二个选项的次数也为 100,依次类推 。
各选项之间没有分隔符 。
2,创建调查引导页面调查引导页面提供调查选项,接受用户的选择,
选择结果存放在 Editor变量中,在用户按下,确定,
按钮后,将选择结果送至 Investigate.asp页面进行处理,调查引导页面的 界面图示 。
在记事本中输入 代码,将文件以 Investigate.htm
存盘 。
说明:用户按,确定,按钮后,将打开真正实现统计功能的 Investigate.asp页面;,清除,按钮将选中第一个选项 。
3,创建统计主页面统计主页面接受引导页面送来的选择结果变量
Editor,从存储统计结果的 Result.txt文件中得到以往的投票结果,把本次选择的结果进行累加后,再将投票统计结果存储到 Result.txt文件中,其 界面图示 。
打开记事本,输 入 程 序 代码,将文件以
Investigate.asp存盘 。
说明:该程序包括如下模块:
① 输入模块 。 程序的输入由两部分组成:一是从
Investigate.htm页面传来的 Editor变量,说明本次选择的结果;二是以文本方式打开 Result.txt文件,获取上次投票统计值 。
② 处理模块 。 将 Result.txt中的单行信息分解成各调查选项对应的统计结果字符串,转换字符串为数值,把本次调查结果累加到相应的调查结果统计项后,
再把各调查项合并为一个调查统计结果字符串 。
③ 输出模块 。 该 模 块 一 是 把 结 果 输 出 到
Result.txt文件中,保存本次统计结果;二是把本次统计结果返回到用户 。
14.2.2 改进的网上调查以上程序有 2点不便:
① 存储调查统计结果的 Result.txt文件由人工建立,结果的存储方式为一行字符串表示的值,各项结果之间由字符,A”,,B”,,C” 和,D” 隔开 。
程序中需要对该字符串进行分解,还原各统计量的值,
最后,还要把本次统计结果再以该形式合并后存储 。
这种方法在程序实现中多次用到 ASP提供的字符串处理函数,增加了处理器的开销 。
② 如果用户使用浏览器的,后退,按钮,将可以重复投票,有失公允 。
为此作如下改进,以完善程序的功能:
① 改进后的程序将存储统计结果的格式由一行变为多行,由字符,A”,,B”,,C” 和,D” 作为分隔符变为由回车换行作为分隔符,省掉多次字符串处理函数的调用 。
② 增加了对 Result.txt存在性及统计结果值的判断 。
③ 使用变量,以判断是否新用户 。
改进后的程序的引导页面 Investigate.htm的内容不变 。
统计主页面 Investigate.asp内容 。
程序 执行结果 。
14.3 上机练习
1,创建投票页面
2,添加选票页面
3,显示选票页面字段名 数据类型 必填 索引
Id 自动编号 是 是
Sela 数字 否 无
Selb 数字 否 无
Selc 数字 否 无
14.3 上机练习
【 练习 14-1】 为网上投票统计提供数据库支持,
创建一个数据库支持的网上 调查程序 。
该程序需要的数据库文件和网页文件如下 。
(1) 数据库文件数据库文件为 Search.mdb,只包括一个 search表,
其结构见表 14-1。
表 14-1,Serarch” 表结构
(2) 网页文件程序包括 3个网页文件,它们分别是:
① 投票页面文件 Index.asp:接受用户选择项输入,将选择结果引导到处理页面 。
② 添加选票页面文件 Add.asp:将本次选择的结果添加到数据库中 。
③ 显示选票页面文件 Display.asp:显示数据库中的选票情况,分别用图形,百分率和选票数显示得票情况 。 在图形显示中,用到一个图形文件 Bar.gif,
该文件可用画图程序来生成,如图 14-3所示 。 如果没有该文件,在显示图形时只有图形的占位符,不影响程序的正常运行 。
1,创建投票页面投票页面 Index.asp有两个功能:一是由,提交,
按钮将选票提交到 Add.asp页面进行数据库中记录的更新操作;二是不投票,通过一个超链接,打开
Display.asp页面查看当前得票情况,如图 14-4所示 。
Index.asp程序 代码 。
2,添加选票页面添加选票页面 Add.asp由数据库连接,读取修改更新记录,返回投票页面三部分功能组成,如图 14-5所示 。
Add.asp程序 代码 。
3,显示选票页面显 示 选 票 页 面 Display.asp 主 要 功 能 是 从
Search.mdb数据库中读取得票记录,通过归一化处理,
将每项数值用数值,图形,百分比综合显示 。 如果当前投票尚未开始,即数据库中每项数据都为零时,则显示信息框提示,还没有人参与调查 !”,而后由一个超链接返回投票页面 Index.asp进行投票 。 图 14-6
左是显示投票界面,图 14-6右是初始尚未开始投票的提示界面 。
Display.asp程序代码 。