当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用ASP学做一个在线调查

ASP
一个ASP版的图片浏览管理器
无组件上传图片至SQLSERVER数据库
利用Jmail.Message发送邮件
用Web页面执行客户端程序
多图片上传到指定的目录并存到数据库
dreamweaverMX通用分页代码研究
下拉菜单输入,根据输入内容自动定位
中文的无组件文件上传ASP函数
一个利用adsi得到局域网信息的asp文件
根据需要动态include不同的文件
让自定义文件下载支持断点续传
用数组实现数据记录的批量录入方法
上传的进度条 实时反映上传情况
用ASP动态生成javascript的表单验证代码
ASP 编程中20个非常有用的例子
ASP生成Word文档的又一方法
用asp解析图片地址,并将其保存。
利用ASP的文件操作实现用户管理
创建 Visual Basic COM 组件在 ASP 中使用
调试 ASP 中使用的 Visual Basic COM 组件

用ASP学做一个在线调查


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 45 ::
收藏到网摘: n/a

 

  关于在线调查大家一定不会陌生吧,给出一个问题和数个答案,让用户填写,然后把结果保存到数据库,自动进行统计,最后给出个统计的图。这期的跟我学做就来做一个在线调查系统。

  一、功能设计

  这么简单的系统也要做功能设计?有的人也许会觉得奇怪,不过话说回来不管怎么样的系统,先做功能设计总是能对系统有个比较清析的了解。让我们来看看在线调查的功能吧。基本的功能上面已经说了,就是要给出一个问题和数个答案,然后统计,最后给出图。在这个基础上,我们可以考虑给一个调查加上一个时间段(有效期),在这个时间段里调查是有效的,过了这段时间就自动结束这个调查。另外,我们可以指定一个用户一次只能提交一次答案。如果你要限制得更多,可以指定一个IP只能提交一次答案,不过,这样可能一个网吧里的人只能有一个提交了。对于调查里的问题,有些可能是单选题,而有些可能是多选 题。最后来说说统计的图,在统计图里要给出答案、每个答案的投票人数,并要显示出每个答案投票数所占的比例。一般用横的图就可以了,也比较容易实现,当然,如果你要改成竖的,也可以。

  现在根据上面总结出在线调查的功能如下:

  1、数据保存在ACCESS 2000 数据库中;

  2、每个用户一次访问可以投票一次

  3、给出每个调查的统计情况,用统计图来显示

  4、每个调查都有个有效期,过期后自动结束。结束了的调查只能查看结果。

  5、管理员可以增加调查,修改调查的答案(增加、修改、删除,修改类型)。

  6、对于已经结束的调查,管理员只能删除调查,而不能修改答案。

  7、只有一个管理员(单用户)

  二、数据库设计

  现在来设计数据库,根据功能要求,至少要有三个表,一是管理员表,二是调查表,三是调查结果表。数据库文件名为survey.mdb 可以改为.asp 如果改的话,请在ASP程序中作相应的修改。

表一、 管理员表 表名: manage
-----------------------------------------------------------------
字段 类型 长度 说明
-----------------------------------------------------------------
manage_id 自动编号 - 在这里没用到,日后扩展用
manage_username 文本 15 管理员用户名
manage_password 文本 15 管理员密码
-----------------------------------------------------------------

  建立manage表后加入一条新记录,填入你的管理员用户名和密码,在这里填入的是xmxoxo

表二、 调查表 表名: survey
-----------------------------------------------------------------
字段 类型 长度 说明
-----------------------------------------------------------------
survey_id 自动编号 - 递增、主键、有索引无重复
survey_question 文本 255 调查问题
survey_type 是否 - 类型,否:单选 是:多选
survey_stime 日期 - 长日期,开始时间
survey_etime 日期 - 长日期,结束时间
-----------------------------------------------------------------

  表三、调查结束表 表名:survey_vote

-----------------------------------------------------------------
字段 类型 长度 说明
-----------------------------------------------------------------
vote_no 自动编号 - 递增、主键、有索引无重复
vote_id 长整型 - 有索引有重复,小数位0
vote_answer 文本 100 调查答案
vote_count 长整型 - 投票数
-----------------------------------------------------------------

  其中,survey_vote表和survey表的id字段有多对一的关系。并不一定要建立这个关系,但是建立关系会使思路更明确。

  三、包含文件

  这里所要用到的函数并不多,主要是对数据库进行操作的,如果要防止输入时的HTML等代码,直接用server.htmlencode进行处理就可以了,所以不需要一个专门的函数来处理。我们可以沿用上一篇《跟我学》系列《跟我学做树型菜单》里的包含文件。

  共用函数文件,文件名:inc.asp

<%
''*******************************************************************
''通用数据库ASP函数
''*******************************************************************
''数据库常数
databasename="survey.mdb" ''数据库名,如果改名的话,在这里修改就行了
''*******************************************************************
''打开数据库
sub opendb(connect)
set connect=server.CreateObject("ADODB.connection")
connect.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &_
server.MapPath(databasename)
connect.Open strconn
end sub
''*******************************************************************
''关闭数据库
sub closedb(connect)
c"