急急急:怎么制作一个网页的投票系统啊??(分数少,不好意思了)

急急急:怎么制作一个网页的投票系统啊??(分数少,不好意思了),第1张

首先,先预计一个投票系统需要的项目,有几个页面。一、建立一个数据库存放投票结果的数据;二、第一个页面:vote.asp这是一个投票页面,给网页游览者投票的页面;三、处理页面:addvote.asp这是处理投票数据的页面,是不可见的。四、显示结果页面:view.asp显示投票的结果。

一个投票系统制作大概有以下流程:

1. 先建立一个数据库名字为:data.mdb,data.mdb数据库里有表:vote。vote有fgood(很好),fmid(中等),fbad(很差)这三个列,这个数据表vote: 表中列: 有:fgood,fmid,fbad

2. 建立一个投票页面:vote.asp

在这个页面里面实现表单数据的传输,设计如下:

这是部分的效果,表单名:form1. 代码如下:

<form name="form1" method="post" action="addvote.asp"> 把传输方式设为:post。把动作设为:addvote.asp(这是处理投票结果的页面,由这个动作转到这个处理页面进行数据处理)。

3. 建立一个数据库的链接页:conn.asp.

通过这里把程序与数据库链接起来。

源代码:<%

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

connstr="Provider=Microsoft.jet.oledb.4.0data source="&server.mappath("data.mdb")

conn.open connstr

%>

4. 建立投票处理页面:addvote.asp。

里面包含数据库链接文件:conn.asp,代码:<!--#i nclude file=" conn.asp" -->。这个页面里主要对vote.asp页面传输过来亏信的表单数据进行处理,把相应的表单数据更新到数据里。传输的数据有三种:fgood、fmid、fbad。处理代码:

<%

if (request.Form("rbresult"))="" then

response.Write(" language=javascript>alert(‘还没投呢!')history.back()</script>")‘//这里检验传输表单是否为空

else response.Write(" language=javascript>alert('谢谢投票!')go(1)</script>")

%>

<%

if(request.form("rbresult")<>"")then Command1__strupdate = request.form("rbresult")

set rs = Server.CreateObject("ADODB.recordset")

sql= "UPDATE vote SET "&Command1__strupdate&"="&Command1__strupdate&"+1"

set rs=conn.execute(sql)

end if

%>

5. 接下来就是处理如何显示投票结果的页面:view.asp。页面效果如下:

这个页面的处理代码:

<%Set rsvote = Server.CreateObject("ADODB.Recordset")

Sql = "SELECT fGood, fMid, fBad, (fGood+fMid+fBad) as VTotal, (fGood/VTotal) as GoodPercent, (fMid/VTotal) as MidPercent, (fBad/VTotal) as BadPercent FROM Vote"

Rsvote=conn.execute(sql)

%> ’//这段代码对数据进行处理

接下来就是显示的问题了。经常看到网站上的投票结果有一个比例长短,这个如何实现呢,其实这个就是利用了网页表格的宽度可以用百分比来表示来做的。步骤如下:

(1).先建立一个四行两列的表格

(2).在表格里面写入数据库的数据以显示结果:

这里的数据是处理完后芹圆的数据,处理过程已经在上面的代码中实现了,下面就是把数据与表格绑定,而柱状的比例条,则是把得到的百分比来绑定内嵌的表格的宽度,因为这个显示的表格宽度数据是一个动态的数据,也就是说可以随着数据的改变而改变柱状的比销首轮例了。绑定如下:

总票数: <%rsvote(“total”)%>

很好: 表格内嵌,设宽为:<%rsvote(“GoodPercent”)%>

共有:<%rsvote(“fGood”)%>人

中等: 表格内嵌,设宽为:<%rsvote(“MidPercent”)%>

共有:<%rsvote(“fMid”)%>人

很差: 表格内嵌,设宽为:<%rsvote(“BadPercent”)%>

共有:<%rsvote(“fBad”)%>人

6. 测试成功了,结果是正确的。显示效果如(5.)中图所示。

总结:总的说来,建立一个网站的投票系统是非常有用的,通过本次的制作,从中我学到了很多知识,如:对数据库的连接,对数据库的 *** 作等语法都有相当多的了解,而且这个投票系统是我个人为班级做的网站http://soho8.net/03eit/上的一个投票系统。作为一个成功的网站是需要有一个投票系统的。能够更好地学习交流、改进。以提高网站制作者的水平,更能够建设出更好的网站。也可以把投票系统改成其他的项目,如问卷调查,完全可以用这个方法来做。然后进行处理统计数据并加以显示。以上为本人做网站过程中制作投票系统的一个总结。在网站建设中有诸多不足之处:对网站开发平台不够熟悉,很多组件及其之间的联系掌握不够以至不能灵活运用,造成网站内容不丰富,结构不太合理。但收获还是梃大的,在这次设计中,使我综合运用所学知识和技能对实际问题的分析概括能力加强,通过检索文献资料、了解、学习、掌握学科专业领域中新的知识和发展动态,并恰当地将其运用到,同时让我深深体会到网站建设的艰辛与乐趣,开发者必须态度端正,认真制定设计方案和工作计划,严格按照流程完成设计的各个环节。

六天,看来你够苦的.帮你一下,用application做的,不知你是否世皮春满意,

首先在你网站根目录下新建一个名为:Global.asa的文件,然后把下列代码贴上去:

<script language="vbscript" runat="server">

Sub Application_OnStart

application("yes")=0

application("no")=0

End Sub

</script>

然后再建一个投票的ASP文件,内容:

<style type="text/css">

<!--

.Vote {

height: 15px

width: 200px

border: 1px solid #0033FF

}

#cYes {

background-color: #FF6600

height: 15px

width: 100px

}

#cNo {

background-color: #FF6600

height: 15px

width: 100px

}

-->

</style>

<form action="" method="post">

做一个投票系统难吗?<br />

<input name="yes" type="radio" value="yes" onclick="if (this.checked==true) no.checked=false" />赞成<br />

<input name="no" type="radio" value="no" onclick="if (this.checked==true) yes.checked=false"/>反对<br />

<input name="投票" type="submit" value="投票" />

</form>

<%

nyes=0

nNo=0

'如果想重新计票,用下面四行

'application.lock()

'application("yes")=application("yes")+1

'application("no")=application("no")+1

'application.unlock()

count=application("yes")+application("no")

if count<>0 then

nyes=int(application("yes")*200/count)

nNo=int(application("no")*200/count)

end if

sYes=Request.form("yes")

sNo=Request.form("no")

act= Request.form("投票")

if act="投票" Then

if sYes="yes" Then

application.lock()

application("yes")=application("yes")+1

application.unlock()

Else

if sNo="no" then

application.lock()

application("no")=application("no")+1

application.unlock()

end if

End if

'图形化显示投票结果

count=application("yes")+application("no")

if count<搜耐>0 then

nyes=int(application("yes")*200/count)

nNo=int(application("no")*200/count)

end if

end if

%>

赞成:<%=application("yes")%>票

<div class="Vote" ><div ID="cYes" neme="cYes" style="width:<握空%=nyes%>px"></div></div>

反对::<%=application("no")%>票

<div class="Vote" ><div ID="cNo" neme="cNo" style="width:<%=nNo%>px"></div></div>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12218352.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存