如何使用ASP在自己的网站建立投票机制(二)

Batman 翻译整理

4、文件default.asp

1   
2ID = Request("ID")   
3If ID = "" Then   
4ID = 30   
5End If   
6Title = "Polls (Create your own poll)"   
 1<html>
 2<head><link href="style.css" rel="STYLESHEET" type="text/css"/>
 3<title>ASP Polls</title>
 4<script language="JavaScript">   
 5  
 6function gatherForm(form){   
 7if(form.Mode[0].checked){   
 8form.submit();   
 9}else{   
10form.action="collect.asp";   
11form.submit();   
12}   
13}   
14  
15</script>
16</head>
17<body>
18<div align="left"><img height="90" src="asp_poll.gif" width="231"/><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>
19<br/><br/>
20</div>
21<table cellpadding="2" cellspacing="0" width="100%">
22<tr>
23<td align="left" class="bold" valign="top" width="25%">
24<form action="default.asp">
25<table border="1" bordercolor="#ccccff" width="100">
26<tr>
27<td>
28<table bgcolor="#4f4f4f" border="0" cellpadding="5" cellspacing="0"><tr>
29<td align="center" bgcolor="#000000" class="bold2" colspan="3">Select A Poll</td>
30</tr><tr>
31<td align="center" bgcolor="#000000" colspan="3">
32<select class="input" name="ID" onchange="gatherForm(this.form)">   

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open Application("ASPPollDSN")
sql = "select * from Poll"
Set rs = conn.Execute(sql)
Do While Not rs.EOF

1  
2  
3<option ```"="" id")="" value="```
4=rs(">```
5=rs("PollName")
1   
2rs.MoveNext   
3Loop   
Vote In Poll:
View Results:
1   
2Set conn = Server.CreateObject("ADODB.Connection")   
3conn.Open Application("ASPPollDSN")   
4sql = "select * from Poll where ID = " &amp;amp; ID   
5Set rs = conn.Execute(sql)   
6If rs.EOF = False Then   
```

For I=1 To 5
choice = rs("Choice" &amp; I)
If choice &lt;&gt; "" Then

1<tr> <!-- <td width=50 colspan=1 bgcolor=#4f4f4f>&nbsp;</td> \-->
2<td align="left" bgcolor="#FFFFFF" class="bold" colspan="2">   

=choice </td><td align="left" bgcolor="#FFFFFF"><input name="choice" type="radio" value=" =I

1</td></tr>   

End If
Next

1  
2</table></form></td></tr>   

If rs("GetName") = "1" Then

1<tr><td align="right" bgcolor="#FFFFFF" class="bold" colspan="1">   
2Your Name:</td>
3<td align="right" bgcolor="#FFFFFF" colspan="2">
4<input name="Name" type="text"/>
5</td></tr>   

End If

1<tr>
2<td align="center" bgcolor="#000000" colspan="3">
3<input class="inline" type="submit" value="Submit Vote"/>
4</td></tr>
5</table>   
6  

Else
Response.Write "Invalid Poll Id Request!"
End If

1</td></tr></table>
2
3
4
5</body>
6</html>

5、文件global.asa

1<script language="VBScript" runat="SERVER">   
2  
3Sub Application_OnStart   
4Application("ASP_Poll") = "ASP_Poll"   
5cnString = "DRIVER={Microsoft Access Driver (*.mdb)}; "   
6cnString = cnString & "DBQ=" & Server.MapPath("Events.mdb")   
7Application("ASPPollDSN") = cnString   
8End Sub   
9</script>

6、文件pool.inc

 1   
 2DBPath = Server.MapPath("/poll/Events.mdb")   
 3ID = 28   
 4If Request.Cookies("PollID") = CStr(ID) Then   
 5ShowDisplay   
 6Else   
 7ShowVote   
 8End If   
 9  
10Function ConvertToPercent(total, sz)   
11If sz = 0 Then   
12ConvertToPercent = "0%"   
13Else   
14ConvertToPercent = FormatPercent(sz/total, 2)   
15End If   
16End Function   
17  
18Sub ShowVote   
19  
1<div align="right">
2<table border="1" cellpadding="0" cellspacing="0" width="125"><tr><td>
3<form action="/poll/collect.asp" method="post">
4<input name="id" type="hidden" value="```
5=id
6```"/>
7<input ```"="" name="return_page" path_info")="" type="hidden" value="```
8=Request.ServerVariables("/>   

Set conn = Server.CreateObject("ADODB.Connection")
dsnpath = "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; "
dsnpath = dsnpath &amp; "DBQ=" &amp; DBPath
conn.open dsnpath
sql = "select * from Poll where ID = " &amp; ID
Set rs = conn.Execute(sql)
If rs.EOF = False Then

1  
2<table bgcolor="#4f4f4f" border="0" cellpadding="2" cellspacing="0" width="125">
3<tr>
4<td align="center" bgcolor="#2f2f4f" colspan="3">   

=rs("PollQuestion")

1</td>
2</tr>   

For I=1 To 5
choice = rs("Choice" &amp; I)
If choice &lt;&gt; "" Then

1<tr>
2<td bgcolor="#000000" colspan="2" valign="top" width="80%">   

=choice </td><td bgcolor="#000000" colspan="1" valign="top" width="20%"> <input name="choice" type="radio" value=" =I

1</td></tr>   

End If
Next

1  
2<tr>
3<td align="right" bgcolor="#2f2f4f" colspan="3">
4<input class="nav" type="submit" value="Submit"/>
5</td></tr>
6</table>   

End If

1  
2</form></td></tr></table>
3   
4  

End Sub

Sub ShowDisplay

Set conn = Server.CreateObject("ADODB.Connection")
sql = "select * from Poll where ID = " &amp; Cint(ID)
dsnpath = "DRIVER={MICROSOFT ACCESS DRIVER (.mdb)}; "
dsnpath = dsnpath &amp; "DBQ=" &amp; 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" &amp; I)
Choices(I) = choice
If choice &lt;&gt; "" Then
Set conn2 = Server.CreateObject("ADODB.Connection")
sql = "select COUNT(PollAnswer) from PollResults where PollID = " &amp; Cint(id) &amp; " AND PollAnswer=" &amp; I
dsnpath = "DRIVER={MICROSOFT ACCESS DRIVER (
.mdb)}; "
dsnpath = dsnpath &amp; "DBQ=" &amp; 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

1<div align="right">
2<table border="1" cellpadding="2" cellspacing="0"><tr><td>
3<table border="0" cellspacing="0" width="125"><tr>
4<td align="center" bgcolor="#2f2f4f" class="orgbold" colspan="2">ASP Poll   
5</td></tr>
6<tr><td align="center" bgcolor="#ccccff" class="black" colspan="2">   
7Q:```
8=rs("PollQuestion")
 1   
 2Total = 0   
 3For I=1 To 5   
 4responseCount = Responses(I)   
 5If responseCount &amp;lt;&amp;gt; "" Then   
 6Total = Total + Cint(responseCount)   
 7End If   
 8Next   
 9For I=1 To 5   
10choice = Choices(I)   
11responseCount = Responses(I)   
12If choice &amp;lt;&amp;gt; "" Then   
13Response.Write "&lt;tr&gt;&lt;td align="left" colspan="1"&gt;&lt;font color="#f0f0f0" face="verdana" size="-1"&gt;"   
14Response.Write choice   
15Response.Write "&lt;/font&gt;&lt;/td&gt;"   
16Response.Write "&lt;td&gt;" &amp;amp; ConvertToPercent(total, responseCount) &amp;amp; "&lt;/td&gt;"   
17Response.Write "&lt;/tr&gt;"   
18End If   
19Next   
20Response.Write "&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;"   
21End If   
22End Sub   
```
Published At
Categories with Web编程
Tagged with
comments powered by Disqus
``` =rs("PollQuestion") ```