|
技术资料 > ASP技术 > 打印相关 : 如何使用ASP在自己的网站建立投票机制(二) |
如何使用ASP在自己的网站建立投票机制(二) March 25,2004 |
Batman 翻译整理
4、文件default.asp
<%
ID = Request("ID")
If ID = "" Then
ID = 30
End If
Title = "Polls (Create your own poll)"
%>
<html>
<head><link rel="STYLESHEET" type="text/css"
href="style.css">
<title>ASP Polls</title>
<script language="JavaScript">
function
gatherForm(form){
if(form.Mode[0].checked){
form.submit();
}else{
form.action="collect.asp";
form.submit();
}
}
</script>
</head>
<body>
<div align="left"><img src="asp_poll.gif"
width="231" height="90"><br>Another joint product from <a
href="http://www.ncws.com/tippycow">Tipped Cow Development</a> and
<a href="http://dstoflet.calweb.com">Adrenalin Labs</a>
<br><br>
</div>
<table width="100%" cellspacing="0" cellpadding="2">
<tr>
<td align="left" width="25%" valign="top"
class="bold">
<form action="default.asp">
<table width="100" border="1" bordercolor=#ccccff>
<tr>
<td>
<table border=0 cellspacing=0 cellpadding=5 bgcolor=#4f4f4f><tr>
<td colspan=3 bgcolor=#000000 align=center
class="bold2">Select A Poll</td>
</tr><tr>
<td colspan=3 bgcolor=#000000 align=center>
<select name="ID" onChange="gatherForm(this.form)"
class="input">
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open Application("ASPPollDSN")
sql = "select * from Poll"
Set rs = conn.Execute(sql)
Do While Not rs.EOF
%>
<option
value="<%=rs("ID")%>"><%=rs("PollName")%>
<%
rs.MoveNext
Loop
%>
</select>
</tr>
<tr>
<td colspan=3 align=right bgcolor=#FFFFFF class="bold">
Vote In Poll:<input type="radio"
name="Mode" value="Vote" CHECKED><br>
View Results:<input type="radio"
name="Mode" value="View">
</td></tr>
<tr>
<td colspan=3 align=right bgcolor=#000000 align=center>
<input type="button" value=" Go "
onClick="gatherForm(this.form)" class="inline">
</td></tr>
</table>
</td>
</tr>
</table></form><br>
<div align="left" class="bold">
<a href="create_poll1.asp">Create your own poll</a><br>
<a href='javascript:history.back()'>Back</a>
</div>
</td>
<td align="center" width="75%" valign="top">
<table width="100" border=1 cellspacing=2 cellpadding=0
bordercolor=#ccccff><tr><td>
<form method="post" action="collect.asp">
<input type="hidden" name="id" value="<%=id%>">
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open Application("ASPPollDSN")
sql = "select * from Poll where ID = " & ID
Set rs = conn.Execute(sql)
If rs.EOF = False Then
%>
<table border=0 cellspacing=0 cellpadding=10 bgcolor=#4f4f4f><tr>
<!-- <td colspan=3 bgcolor=#2f2f4f align=center><font
face="verdana" color=#f5fcdc>
Poll: <%=rs("PollName")%>
</td> -->
</tr><tr>
<td colspan=3 bgcolor=#000000 align=left
class="bold2"><%=rs("PollQuestion")%>
</tr>
<%
For I=1 To 5
choice = rs("Choice"
& I)
If choice <>
"" Then
%>
<tr> <!-- <td width=50
colspan=1 bgcolor=#4f4f4f> </td> -->
<td colspan=2 bgcolor=#FFFFFF
class="bold" align="left">
<%=choice%></td><td
bgcolor=#FFFFFF align="left"><input type="radio"
name="choice" value="<%=I%>">
</td></tr>
<%
End If
Next
%>
</tr>
<% If rs("GetName") = "1" Then %>
<tr><td
colspan=1 align=right bgcolor=#FFFFFF class="bold">
Your Name:</td>
<td colspan=2
align=right bgcolor=#FFFFFF>
<input
type="text" name="Name">
</td></tr>
<% End If %>
<tr>
<td colspan=3 align=right bgcolor=#000000 align=center>
<input type="submit" value="Submit Vote"
class="inline">
</td></tr>
</table>
<%
Else
Response.Write "Invalid Poll Id
Request!"
End If
%>
</td></tr></form></table>
</td>
</tr>
</table>
</body>
</html>
5、文件global.asa
<SCRIPT LANGUAGE="VBScript" RUNAT="SERVER">
Sub Application_OnStart
Application("ASP_Poll") =
"ASP_Poll"
cnString = "DRIVER={Microsoft Access Driver
(*.mdb)}; "
cnString = cnString & "DBQ=" &
Server.MapPath("Events.mdb")
Application("ASPPollDSN") = cnString
End Sub
</SCRIPT>
6、文件pool.inc
<%
DBPath = Server.MapPath("/poll/Events.mdb")
ID = 28
If Request.Cookies("PollID") = CStr(ID) Then
ShowDisplay
Else
ShowVote
End If
Function ConvertToPercent(total, sz)
If sz = 0 Then
ConvertToPercent = "0%"
Else
ConvertToPercent =
FormatPercent(sz/total, 2)
End If
End Function
Sub ShowVote
%>
<div align=right>
<table width=125 border=1 cellspacing=0 cellpadding=0><tr><td>
<form method="post" action="/poll/collect.asp">
<input type="hidden" name="id" value="<%=id%>">
<input type="hidden" name="return_page"
value="<%=Request.ServerVariables("PATH_INFO")%>">
<%
Set conn = Server.CreateObject("ADODB.Connection")
dsnpath = "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; "
dsnpath = dsnpath & "DBQ=" & DBPath
conn.open dsnpath
sql = "select * from Poll where ID = " & ID
Set rs = conn.Execute(sql)
If rs.EOF = False Then
%>
<table width=125 border=0 cellspacing=0 cellpadding=2 bgcolor=#4f4f4f>
<tr>
<td colspan=3 bgcolor=#2f2f4f align=center>
<%=rs("PollQuestion")%>
</td>
</tr>
<%
For I=1 To 5
choice = rs("Choice"
& I)
If choice <>
"" Then
%>
<tr>
<td colspan=2 bgcolor=#000000
valign=top width=80%>
<%=choice%> </td><td
valign=top colspan=1 width=20% bgcolor=#000000> <input type="radio"
name="choice" value="<%=I%>">
</td></tr>
<%
End If
Next
%>
<tr>
<td colspan=3 align=center bgcolor=#2f2f4f align=right>
<input type="submit" value="Submit"
class=nav>
</td></tr>
</table>
<%
End If
%>
</td></tr></form></table>
</center>
<%
End Sub
Sub ShowDisplay
Set conn = Server.CreateObject("ADODB.Connection")
sql = "select * from Poll where ID = " & Cint(ID)
dsnpath = "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; "
dsnpath = dsnpath & "DBQ=" & DBPath
conn.open dsnpath
Set rs = Conn.Execute(sql)
If rs.EOF = False Then
Dim Choices(6)
Dim Responses(6)
For I=1 To 5
choice = rs("Choice"
& I)
Choices(I) = choice
If choice <>
"" Then
Set
conn2 = Server.CreateObject("ADODB.Connection")
sql =
"select COUNT(PollAnswer) from PollResults where PollID = " & Cint(id) &
" AND PollAnswer=" & I
dsnpath =
"DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; "
dsnpath
= dsnpath & "DBQ=" & DBPath
conn2.open
dsnpath
Set
rs2 = Conn.Execute(sql)
If
rs2.EOF = False Then
Responses(I)
= rs2(0)
End If
rs2.Close
conn2.Close
End If
Next
%>
<div align="right">
<table border=1 cellspacing=0 cellpadding=2><tr><td>
<table width=125 border=0 cellspacing=0><tr>
<td colspan=2 bgcolor=#2f2f4f align=center class=orgbold>ASP
Poll
</td></tr>
<tr><td colspan=2 align=center bgcolor=#ccccff
class=black>
Q:<%=rs("PollQuestion")%>
</td></tr>
<%
Total = 0
For I=1 To 5
responseCount = Responses(I)
If responseCount <>
"" Then
Total
= Total + Cint(responseCount)
End If
Next
For I=1 To 5
choice = Choices(I)
responseCount = Responses(I)
If choice <>
"" Then
Response.Write
"<tr><td colspan=1 align=left><font face='verdana' size=-1
color=#f0f0f0>"
Response.Write
choice
Response.Write
"</td>"
Response.Write
"<td>" & ConvertToPercent(total, responseCount) &
"</td>"
Response.Write
"</tr>"
End If
Next
Response.Write
"</table></td></tr></table></div>"
End If
End Sub
%>
</div> |
|
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved