网页教学网
 当前位置: 网页教学网 >> 网页制作 >> Dreamweaver制作技术 >> 阅读:用Dreamweaver MX 2004制作ASP动态网站(投票系统篇)
[ HTML ] [ FW ] [ DW ] [ FP ] [ JS ] [ XML ] [ CSS ] [ 图象 ] [ FLASH ] [ .NET ] [ ASP ] [ JSP ] [ PHP ] [ 数据 ] [ 系统 ] [ 安全 ] [ 素材 ] [ 建站 ] [ 主机 ] [ 入门 ] [ 技巧 ]

用Dreamweaver MX 2004制作ASP动态网站(投票系统篇)

http://www.webjx.com  更新日期:2005-09-04 07:56  出处:闪吧  作者:kokotaro

  投票程序源文件:点击这里下载源文件

  一、程序说明及投票系统流程图

  总的来说,投票系统可分为3个模块:选票模块,选票处理模块和结果显示模块!

  投票系统需要对某一项目的选择做出记录,一般情况下是存放在数据库中然后对投票情况进行统计并显示投票结果。

  首先给出选票,即供投票者选择的窗体对象,当投票者按下投票按钮后,选票处理模块开始激活,对传送到服务器的数据作相应的处理,服务器端在处理时先判断用户选择的是那一项,然后把相应字段的值加1。实际上保存投票结果的数据库中的表只有一条记录就可以了,只是需要不断的对这些数据进行更新。最后则是由结果显示模块把投票结果显示出来。

  这篇教程以对一部电影的评价为例进行投票系统的讲解。在这个例子中有3种选择,很好、一般和很差!并且只能选择其中一项。

  文件说明:

*vote.asp 投票页
*result.asp显示投票结果
*add.asp选票处理模块,投票者在投票页选择并按下投票按钮并提交后,数据库即进行更新,最后转向Result.asp

  二、数据库的设计和建立

  数据库文件tvote.mdb只有一个表tvote,该表只有一条记录,而记录对应着3个字段,每一个字段保持一种选项的投票数目。新建表的记录初始值为0,为了方便看效果,所以先对记录的各个字段赋了初值!

  三、建立站点和数据库连接

1.建立站点!关于建立站点的详细步骤,偶就不说了。贴张图看下!!

  提醒下,建立站点前别忘了建立虚拟目录!

  2.数据库连接,这里用构建0DBC的方法来连接数据库!

  DSN(Data Source Name),数据源名称)表示用于将应用程序和某个数据库相连接的信息集合。ODBC数据源管理器使用该信息来创建指向数据库的连接!

  具体步骤:启动控制面板-管理工具-数据源(0DBC)-系统DSN-“添加”

  然后在打开的创建新数据源对话框中选择 Microsoft Access Driver (*.mdb)点击“完成”会出现ODBC Microsoft Access 安装对话框,给你要建立的数据源起个名字,然后点击“选择”,选择你建立的数据库文件的路径!单击确定,就可以看到在ODBC数据源管理器中多了一个我们刚刚新建立的数据源。

  然后到dreamweaver里面,打开我们刚刚建立的站点,随便打开一个文件!打开应用程序面板的数据库标签,点“+”,选择“数据源名称(DSN)”

  然后在打开的对话框中作如下设置,可点击测试看数据库连接是否成功!

  四、投票系统主页面制作

  实际上,投票者只需要作出选择就可以了,不需要添加任何行为。对投票页紧需设置表单及窗体对象的属性即可。

  1.先制作如下的静态页面

  注意,页面中的表格一定是嵌套在一个form(表单)里面的(偶刚开始学asp的时候,都是直接就弄个表格,结果出了n次错)

  2.form设置

  将光标移到表单区域内,单击窗口下面的form标签来选中form。对form属性进行如下设置

  单击表格右列第一行的单选按钮属性设置form中的单选按钮的属性。在其属性面板中,在单选按钮文本框中输入rbResult,这样就设置了该单选按钮的name的属性为rbResult,在选定值文本框中输入fGood,这样就设置了该单选按钮的Value属性值。如图

  输入的value属性值与数据库中的表tvote的一个字段名相同,而表tvote的fGood字段保存的是选择[很好]项的投票者总数,在按下投票按钮提交后,将fGood作为单选按钮的值传出,与数据库中的字段名联系起来!

  在初始状态选项中,选中[已勾选]单选按钮,即默认情况下被选中!

  同样,对下面2个单选按钮也按以上步骤设置!

  表格中下面的2个单选按钮的name属性也设为rbResult,这样设置可使3个单选按钮的name属性相同,这样投票者就只能选择其中的一项。在[初始状态]选项中选中[未选中]单选按钮,在[选定值]文本框中分别输入fMid、fBad,与表tvote中的另外二个字段相同,这样,vote。asp就作好了!

  五、投票结果页面的制作

  制作页面

  2.定义记录集

  打开数据[绑定]面板,单击[+]按钮,选择[记录集(查询)]菜单项,

  如果出现简单[记录集]对话框,则应单击[高级。。。]按钮转到高级记录集对话框!

  在名称文本框中输入rsVote,在连接下拉列表中选择connvote,在SQL列表框中书写“SELECT fGood, fMid, fBad, (fGood+fMid+fBad) as VTotal, (fGood/VTotal) as GoodPercent, (fMid/VTotal) as MidpPercent, (fBad/VTotal) as BadPercent
FROM tVote”

  3.数据绑定

  将光标放在“有 人参加了投票”之间,在绑定面板中选中vtotal字段,然后单击“插入”这样就把投票人的总数动态的加入到Result。asp页面中!用同样的方法将其他字段绑定到相应位置

  最后完成的页面如图

  4.记录集中的Goodpercent/Midpercent/Badpercent这3个动态数据分别是投票[很好][一般][很差]的人数占投票总人数的比例。而这三项动态数据的值是小数,在浏览时,将以小数形式显示因此,要把他转换成百分数,并保留2位小数。

  选中表格第一行中的{rsVote.GoodPercent},然后在绑定面板中单击Goodpercent右边的下拉三角(即记录集“格式’框中的下拉三角,)在弹出的菜单中选择[百分比]-[2个小数位]

  同样的方法设置{rsVote.badPercent}{rsVote.midPercent}

  5.制作表格的动态属性

  制作图示可采用表格嵌套和表格的动态属性来完成。如果在表格中每一行的第2列的部分嵌套一个只有一行一列的小表格,将这个小表格的背景色设置为红色,将小表格的宽度度量单位设置为百分比(相对于容纳他的单元格宽度也会根据投票者的数量的变化而变化,这样就达到了制作图示的目的。灰色的部分可以看做是投票的总人数,红色的部分可以看做是各选项的人数。

  制作投票[很好]项人数占总人数的比例图示。把光标放在第一行的第2列上,插入一个表格。

  把表格的背景设置为红色 .选中小表格,选择[窗口]-[标签检查器],打开[标签]面板,选择[属性].找到[常规]-width属性,选中他,这时在他旁边会出现一个闪电按钮。单击闪电按钮,会弹出一个动态数据窗口。在[域]列表框的记录集中选择Goodpercent,然后在格式下拉列表中选择[百分比-2个小数位]项。单击确定。

  重复上面的步骤,分别在第二、三行插入一个小表格。只是在设置动态属性时,须在动态数据窗口的列表框的记录集中选择midpercent。 badpercent项
好了,Result。asp的页面也到此就制作好了。可以预览下看看了哦!

  六、更新页add.asp

  我们在投票页vote。asp中设置form的动作属性时,已经设置了相应动作的文件为add。asp!

  1..新建一个动态页asp VBScript文件

  在这里可以作一个转到result。asp的链接!

  2. 绑定-命令(预存过程)

  由于投票系统主要记录各个选项的投票人数,所以这一步并不是对数据库进行读操作或者向数据库插入一条记录,而是修改数据库的表vote中某一字段的值。确切的说,是对表vote某一字段的数据进行累加,所以必须选择[命令(预存过程)]菜单项用简单的SQl语言进行定制!

  单击绑定面板的“+”选择“命令(预存过程)”,设置如图

  在vote。asp页中设值但选按钮的属性时,已将3个单选按钮Value属性的值分别设置为表vote中的3个字段名,所以Request.form("rbResult")值一定是表vote的一个字段名。所以这条SQL语句的意思就是使某一字段加1,即在相应的字段中记下了一个投票者!

  *注意:实际操作时,一定要把[SQL]中的where去掉*

  好了,目前为止,这个投票系统的文件就全部作好了!

  发个最终预览的效果看下!

  七、制作重点及相关技巧

  制作投票系统,首先需要了解投票系统的机制、投票系统需要建立的各个网页文件以及制作这些文件的步骤!主要制作技术有:投票系统的制作,单选按钮的命名及value属性的设置技巧,单选按钮的值的存储技巧,sql中计算字段的使用,比例图示的设计技巧及动态数据格式的格式设置等等。

  但是在测试上面介绍的简单的投票系统时,我们发现在该投票系统中投票者可以无限制的进行投票,这样就使作弊很容易发生!那怎么样想办法让每一位投票者只投一次票以减少发生串票的可能?大家可以先考虑下这个问题,偶过几天在把这个教程发上来!

  终于做好了,有不对的地方还请版主大哥帮忙指出!!

关键词:
推荐给好友】【关闭】【收藏本文
最新五条评论
查看全部评论
评论总数 0
您的评论
用户名: 新注册) 密 码: 匿名:
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为