一个投票系统制作大概有以下流程:
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、程序能够统计该题目的所有投票人员及其评价等级。 最后优化数据库: 要是你只想能用就行,这步就别做了。 要是构建在大型网站上,要给表写存储过程、加索引。满意请采纳
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)