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

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

<p style=line-height: 150%><SPAN style="FONT-SIZE: 12px"><STRONG>这是用文本文件作为存储载体的投票系统:</STRONG></SPAN>

<p style=line-height: 150%><SPAN style="FONT-SIZE: 12px"><STRONG>vote.java:</STRONG></SPAN>

<SPAN style="FONT-SIZE: 12px"><STRONG></STRONG><p style=line-height: 150%>

// Java Document

package vote

import java.io.*

import java.util.*

public class vote extends Object

{

public String filePath=""

public int n

private File voteFile

private BufferedReader fileRead

private PrintWriter fileWrite

public String systemMessage=""

private String voteStr[]=new String[10]

public int voteNum[]=new int[10]

public void createFile()

throws FileNotFoundException

{

voteFile=new File(filePath)

if(!voteFile.exists())

{

fileWrite=new PrintWriter(new FileOutputStream(filePath))

for(int i=0i<ni++) fileWrite.println("0")

fileWrite.close()

}

}

public void writeFile()

throws FileNotFoundException

{

fileWrite=new PrintWriter(new FileOutputStream(filePath))

for(int i=0i<ni++)

{

fileWrite.println(voteNum[i])

}

fileWrite.close()

}

public void readFile()

throws FileNotFoundException

{

fileRead=new BufferedReader(new FileReader(filePath))

for(int i=0i<ni++)

{

try

{voteStr[i]=fileRead.readLine()

}

catch(IOException f)

{

voteStr[i]="0"}

voteNum[i]=Integer.parseInt(voteStr[i])

}

try

{

fileRead.close()

}

catch(IOException d)

{

systemMessage=d.toString()

}

}

}

<p style=line-height: 150%><SPAN style="LINE-HEIGHT: 15pt"><SPAN style="FONT-SIZE: 12px"><STRONG>vote.jsp:</STRONG>

<%@ page contentType="text/htmlcharset=gb2312" language="java" errorPage="" %>

<%@ page import="java.util.*"%>

<%@ page import="java.lang.*"%>

<%@ page import="java.io.*"%>

<jsp:useBean id="vote" scope="request" class="vote.vote"/>

<%

String vote1=request.getParameter("lang")

vote.n=4

vote.filePath="vote.txt"

vote.createFile()

vote.readFile()

if(vote1.compareTo("0")==0)

vote.voteNum[0]++

if(vote1.compareTo("1")==0)

vote.voteNum[1]++

if(vote1.compareTo("2")==0)

vote.voteNum[2]++

if(vote1.compareTo("3")==0)

vote.voteNum[3]++

vote.writeFile()

%>

<script language="javascript">

alert("感谢你投了宝贵的一票")

self.location="index.jsp"

</script></SPAN></SPAN>

<p style=line-height: 150%><STRONG></STRONG><SPAN style="LINE-HEIGHT: 15pt"><SPAN style="FONT-SIZE: 12px"><STRONG>see.jsp:</STRONG>

<%@ page contentType="text/htmlcharset=gb2312" language="java" errorPage="" %>

<%@ page import="java.util.*"%>

<%@ page import="java.lang.*"%>

<%@ page import="java.io.*"%>

<jsp:useBean id="vote" scope="request" class="vote.vote"/>

<%

String vote1=request.getParameter("lang")

vote.n=4

vote.filePath="vote.txt"

vote.createFile()

vote.readFile()

int total=0

float voteFlo[]=new float[5]

for(int i=0i<4i++) total+=vote.voteNum[i]

for(int i=0i<4i++) voteFlo[i]=150*((float)vote.voteNum[i]/(float)total)

%>

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>查看调查</title>

<link href="t1.css" rel="stylesheet" type="text/css">

</head>

<body>

<table width="30%" border="0" class="t1">

<tr>

<td colspan="2"><div align="center">调查结果</div></td>

</tr>

<tr>

<td width="18%">JSP</td>

<td width="82%"><img src="bar.gif" width=<%=voteFlo[0]%>height=8> <%=vote.voteNum[0]%></td>

</tr>

<tr>

<td>ASP</td>

<td><img src="bar.gif" width=<%=voteFlo[1]%>height=8> <%=vote.voteNum[1]%></td>

</tr>

<tr>

<td>PHP</td>

<td><img src="bar.gif" width=<%=voteFlo[2]%>height=8> <%=vote.voteNum[2]%></td>

</tr>

<tr>

<td>其他</td>

<td><img src="bar.gif" width=<%=voteFlo[3]%>height=8> <%=vote.voteNum[3]%></td>

</tr>

<tr>

<td colspan="2"><div align="center"><a href="javascript:window.close()">关闭窗口</a></div></td>

</tr>

</table>

</body>

</html>

</SPAN></SPAN>

<p style=line-height: 150%><SPAN style="LINE-HEIGHT: 15pt"><SPAN style="FONT-SIZE: 12px"><SPAN style="LINE-HEIGHT: 15pt"><SPAN style="FONT-SIZE: 12px"><STRONG>index.jsp:</STRONG>

</SPAN></SPAN>

</SPAN></SPAN><p style=line-height: 150%><SPAN style="LINE-HEIGHT: 15pt"><SPAN style="FONT-SIZE: 12px"><%@ page contentType="text/htmlcharset=gb2312" language="java" import="java.sql.*" errorPage="" %>

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>投票</title>

<link href="t1.css" rel="stylesheet" type="text/css">

</head>

<script language="javascript">

function cw()

{window.open("see.jsp","mywindow","toolbar=no,left=150,top=200,width=270,height=350,menubar=no,systemMenu=no")

}

</script>

<body>

<table width="15%" height="250" align="left">

<tr>

<td><form name="form1" method="post" action="vote.jsp">

<table width="100%" height="250" border="1" align="center" bordercolor="#9966CC" class="t1">

<tr>

<td><div align="left">你所使用的开发语言</div></td>

</tr>

<tr>

<td><input type="radio" name="lang" value="0">

JSP</td>

</tr>

<tr>

<td><input type="radio" name="lang" value="1">

ASP</td>

</tr>

<tr>

<td><input type="radio" name="lang" value="2">

PHP</td>

</tr>

<tr>

<td><input type="radio" name="lang" value="3">

其他 </td>

</tr>

<tr>

<td><div align="center">

<input name="vote" type="image" src="poll.gif" width="40" height="20" border="0">

<a href="javascript:cw()"><img src="see.gif" width="40" height="20" border="0"></a></div></td>

</tr>

</table>

</form></td>

</tr>

</table>

</body>

</html>

</SPAN></SPAN></SPAN>

先设计表结构: 一个表用来记录投票的题目,一个表用来记录投票的人员、投哪一个标题、投的好评差评等。 由于这两个表属于多对多关系,再建一个关系表。总共3张表。 再进行程序设计: 1、一个人对同一个标题只能投一票。 2、程序能够统计该题目的所有投票人员及其评价等级。 最后优化数据库: 要是你只想能用就行,这步就别做了。 要是构建在大型网站上,要给表写存储过程、加索引。

满意请采纳


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

原文地址: http://outofmemory.cn/sjk/9249356.html

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

发表评论

登录后才能评论

评论列表(0条)

保存