Batman 翻译整理 一个很不错的建立自己的投票系统的ASP程序大家仔细读读,只要能够理解中间的关键技术,就能够在自己的网站上建立自己的投票站了。文件整理得很仓促,希望大家谅解。 版权所有: ASP Polls version 1.0 Tipped Cow Development and Adrenalin Labs 结构简单介绍: ACCESS数据库设计结构: poll表主要字段名称:PollName,PollCreator,PollQuestion,Password,Choice1,Choice2 Choice3,Choice4,Choice5,ID(自动编号),GetName pollresults表字段:PollID,PollAnswer,Name 1.文件db.inc <% Application("ASP_Poll") = "ASP_Poll" cnString = "DRIVER={Microsoft Access Driver (*.mdb)}; " cnString = cnString & "DBQ=" & Server.MapPath("Events.mdb") Application("ASPPollDSN") = cnString %> 1.文件creat_poll1.asp <% Title="Poll Generator" %> <head> <link rel="STYLESHEET" type="text/css" href="style.css"> <title><%=Title%></title> </head> <body> <div align="left"><img src=http://www.okasp.com/techinfo/"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> <center> <% Response.Write "<font face='arial'>" If Request("errormessage") <> "" Then Response.Write "<b>Error! </b>" & Request("errormessage") Else Response.Write "Please complete the form below to begin creating your own poll." End If %> <br><br> <table border=2 cellspacing=0 cellpadding=0><tr><td> <form method="post" action="create_poll2.asp"> <table border=0 cellspacing=0 cellpadding=10 width=500><tr> <td colspan=2 bgcolor=#000000 align=center class="bold2"> Enter Your Name as the Poll Creator </td> </tr><tr> <td bgcolor=#ffffff width=25% class="bold">Poll Creator:</td> <td bgcolor=#ffffff> <input type="text" name="creator" value="<%=Request("creator")%>" size=20 class="input"> </td> </tr> </table> </td></tr> <tr><td> <table border=0 cellspacing=0 cellpadding=10 width=500><tr> <td colspan=2 bgcolor=#000000 align=center class="bold2"> Create a Password For Your Poll So That You Can Modify It At A Later Time </td> </tr><tr> <td bgcolor=#ffffff width=25% class="bold">Poll Admin Password:</td> <td bgcolor=#ffffff> <input type="password" name="password" value="<%=Request("password")%>" size=10 maxlength=10 maxsize=10 class=input> </td> </tr> </table> </td></tr> <tr><td> <table border=0 cellspacing=0 cellpadding=10 width=500><tr> <td colspan=2 bgcolor=#000000 align=center class="bold2"> Give Your Poll a Unique Name </td> </tr><tr> <td bgcolor=#ffffff width=25% class="bold">Poll Name:</td> <td bgcolor=#ffffff> <input type="text" name="name" value="<%=Request("name")%>" size=20 class=input> </td> </tr> </table> <table border=0 cellspacing=0 cellpadding=10 width=500><tr> <td colspan=2 bgcolor=#000000 align=center class="bold2"> Do you want to have the user enter their name? </td> </tr><tr> <td bgcolor=#ffffff width=25% class="bold">Require user to enter their name:</td> <td bgcolor=#ffffff class="bold"> Yes<input type="radio" name="GetName" value="1"><br> No <input type="radio" name="GetName" value="0" CHECKED> </td> </tr> </table> </td></tr> <tr><td> <table border=0 cellspacing=0 cellpadding=10 width=500><tr> <td colspan=3 bgcolor=#000000 align=center class="bold2"> Select Poll Type </td> </tr><tr> <td colspan=2 bgcolor=#ffffff class="bold">What type of poll question do you wish to create?</td> <td bgcolor=#ffffff class="bold"> <input type="radio" name="polltype" value="yes_no">Yes/No<br> <input type="radio" name="polltype" value="multiple_choice">Multiple Choice<br> </td> </tr> </table> </td></tr></table> <table width=500><tr> <td colspan=3 align=right> <input type="submit" value=" Next " class="inline"> </td></tr> </table> </center> </body> </html> 3.文件connect.asp <% id = Request("id") If id = "" Then id = 0 End If num = Request("choice") If num <> "" Then Set conn = Server.CreateObject("ADODB.Connection") dsnpath = "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; " dsnpath = dsnpath & "DBQ=" & Server.MapPath("Events.mdb") conn.open dsnpath Set rs = Server.CreateObject("ADODB.RecordSet") rs.Open "PollResults", conn, 3, 3 rs.AddNew rs("PollID") = Cint(id) rs("Name") = Request("Name") rs("PollAnswer") = Cint(num) rs.Update rs.Close set rs = Nothing conn.Close set conn = Nothing End If If Request("return_page") <> Empty Then Response.Cookies("PollID") = id Response.Redirect Request("return_page") End If %> <html> <body bgcolor="#4f4f4f" text="#c0c0c0" link=#f5fcdc vlink=#f5fcdc> <center> <% If num <> "" Then %> <br><br> <table border=0 cellspacing=0 cellpadding=0><tr> <td colspan=3 align=center><font face="verdana"> Your selection has been recorded. </td></tr> </table> <% End If %> <br><br> <% Set conn = Server.CreateObject("ADODB.Connection") sql = "select * from Poll where ID = " & Cint(id) dsnpath = "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; " dsnpath = dsnpath & "DBQ=" & Server.MapPath("Events.mdb") conn.open dsnpath Set rs = Conn.Execute(sql) If rs.EOF = False Then %> <table border=1 cellspacing=0 cellpadding=5 width=500 bordercolor=#2f2f4f><tr> <td colspan=3 bgcolor=#2f2f4f align=center><font face="verdana" color=#f5fcdc> <%=rs("PollQuestion")%> </td></tr> <% 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=" & Server.MapPath("Events.mdb") conn2.open dsnpath Set rs2 = Conn.Execute(sql) If rs2.EOF = False Then Response.Write "<tr><td colspan=2 bgcolor=#4f4f4f align=center width=400><font face='verdana' color=#f5fcdc>" Response.Write choice Response.Write "</td>" Responses(I) = rs2(0) Response.Write "<td colspan=1 bgcolor=#4f4f4f align=right><font face='verdana' color=#f5fcdc><b>" & rs2(0) & "</b></td>" Response.Write "</tr>" End If rs2.Close conn2.Close End If Next End If %> </table> <br><br> <table > <td colspan=3 align=center><font face="arial"> <font face="ms sans serif"><b> Polls Results</b></font> </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='arial'>" Response.Write choice Response.Write "</td>" Response.Write "<td colspan=2 width=400><table border=1 cellspacing=0><tr><td bgcolor=blue align=center width=" & ConvertToPix(responseCount) & "><font face='ms sans serif' color=white><b>" & ConvertToPercent(responseCount) & "</td></tr></table></td>" Response.Write "</tr>" End If Next Function ConvertToPix(sz) If sz = 0 Then ConvertToPix = 0 Else ConvertToPix = Cint(400/Total * sz) End If End Function Function ConvertToPercent(sz) If sz = 0 Then ConvertToPercent = "0%" Else ConvertToPercent = FormatPercent(sz/Total, 2) End If End Function %> </table> <% If num = "" Then %> <br><br> <table border=0 cellspacing=0 cellpadding=0><tr> <td colspan=3 align=center><font face="verdana"> <a href="default.asp?ID=<%=id%>">Add Your Vote</a> </td></tr> </table> <% End If %> <br><br> <table width=100%><tr><td align=right> <table border=1 cellpadding=5 cellspacing=0 bordercolor=#f5fcdc><tr><td bgcolor=#2f2f4f> <font face='verdana' size=+1><a href='javascript:history.back()'>Back</a> </td></tr></table> </td></tr></table> </center> </body> </html>
|