注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

汇总技巧

你快乐我快乐.... 汇集各类技巧,传播技巧,让我们共同熟练运用技巧..

 
 
 

日志

 
 

建立你网站的投票机制!翻译  

2011-06-03 22:34:25|  分类: ◆ASP技巧 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

如何使用ASP在自己的网站建立投票机制(一)
翻译整理
一个很不错的建立自己的投票系统的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=leftimg src=asp_poll.gif width=231 height=90brAnother joint product from a href=http://www.ncws.com/tippycowTippedCow target=_blank>http://www.ncws.com/tippycowTipped">http://www.ncws.com/tippycowTippedCow Development/a and a href=http://dstoflet.calweb.comAdrenalin Labs/a
brbr
/div
center
%
Response.Write font face=arial
If Request(errormessage)   Then
Response.Write bError! /b  Request(errormessage)
Else
Response.Write Please complete the form below to begin creating your own poll.
End I
%
brbr
table border=2 cellspacing=0 cellpadding=0trtd
form method=post action=create_poll2.asp
table border=0 cellspacing=0 cellpadding=10 width=500tr
td colspan=2 bgcolor=#000000 align=center class=bold2
Enter Your Name as the Poll Creator
/td
/trtr
td bgcolor=#ffffff width=25% class=boldPoll Creator:/td
td bgcolor=#ffffff
input type=text name=creator value=%=Request(creator)% size=20 class=input
/td
/tr
/table
/td/tr
trtd
table border=0 cellspacing=0 cellpadding=10 width=500tr
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
/trtr
td bgcolor=#ffffff width=25% class=boldPoll 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
trtd
table border=0 cellspacing=0 cellpadding=10 width=500tr
td colspan=2 bgcolor=#000000 align=center class=bold2
Give Your Poll a Unique Name
/td
/trtr
td bgcolor=#ffffff width=25% class=boldPoll 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=500tr
td colspan=2 bgcolor=#000000 align=center class=bold2
Do you want to have the user enter their name?
/td
/trtr
td bgcolor=#ffffff width=25% class=boldRequire user to enter their name:/td
td bgcolor=#ffffff class=bold
Yesinput type=radio name=GetName value=1br
No input type=radio name=GetName value=0 CHECKED
/td
/tr
/table
/td/tr
trtd
table border=0 cellspacing=0 cellpadding=10 width=500tr
td colspan=3 bgcolor=#000000 align=center class=bold2
Select Poll Type
/td
/trtr
td colspan=2 bgcolor=#ffffff class=boldWhat type of poll question
do you wish to create?/td
td bgcolor=#ffffff class=bold
input type=radio name=polltype value=yes_noYes/Nobr
input type=radio name=polltype value=multiple_choiceMultiple Choicebr
/td
/tr
/table
/td/tr/table
table width=500tr
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 I
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 dsnpat
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 I
If Request(return_page)  Empty Then
Response.Cookies(PollID) = id
Response.Redirect Request(return_page)
End I
%
html
body bgcolor=#4f4f4f text=#c0c0c0 link=#f5fcdc vlink=#f5fcdc
center
% If num   Then %
brbr
table border=0 cellspacing=0 cellpadding=0tr
td colspan=3 align=centerfont face=verdana
Your selection has been recorded.
/td/tr
/table
% End If %
brbr
%
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 dsnpat
Set rs = Conn.Execute(sql)
If rs.EOF = False Then
%
table border=1 cellspacing=0 cellpadding=5 width=500 bordercolor=#2f2f4ftr
td colspan=3 bgcolor=#2f2f4f align=centerfont 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 dsnpat
Set rs2 = Conn.Execute(sql)
If rs2.EOF = False Then
Response.Write trtd colspan=2 bgcolor=#4f4f4f align=center width=400font face=verdana color=#f5fcdc
Response.Write choice
Response.Write /td
Responses(I) = rs2(0)
Response.Write td colspan=1 bgcolor=#4f4f4f align=rightfont face=verdana color=#f5fcdcb  rs2(0)  /b/td
Response.Write /tr
End I
rs2.Close
conn2.Close
End I
Next
End I
%
/table
brbr
table 
td colspan=3 align=centerfont face=arial
font face=ms sans serifb Polls Results/b/font
/td/tr
%
Total = 0
For I=1 To 5
responseCount = Responses(I)
If responseCount   Then
Total = Total + Cint(responseCount)
End I
Next
For I=1 To 5
choice = Choices(I)
responseCount = Responses(I)
If choice   Then
Response.Write trtd colspan=1 align=leftfont face=arial
Response.Write choice
Response.Write /td
Response.Write td colspan=2 width=400table border=1 cellspacing=0trtd bgcolor=blue align=center width=  ConvertToPix(responseCount)  font face=ms sans serif color=whiteb  ConvertToPercent(responseCount)  /td/tr/table/td
Response.Write /tr
End I
Next
Function ConvertToPix(sz)
If sz = 0 Then
ConvertToPix = 0
Else
ConvertToPix = Cint(400/Total * sz)
End I
End Function
Function ConvertToPercent(sz)
If sz = 0 Then
ConvertToPercent = 0%
Else
ConvertToPercent = FormatPercent(sz/Total, 2)
End I
End Function
%
/table
% If num =  Then %
brbr
table border=0 cellspacing=0 cellpadding=0tr
td colspan=3 align=centerfont face=verdana
a href=default.asp?ID=%=id%Add Your Vote/a
/td/tr
/table
% End If %
brbr
table width=100%trtd align=right
table border=1 cellpadding=5 cellspacing=0 bordercolor=#f5fcdctrtd bgcolor=#2f2f4f
font face=verdana size=+1a href=javascript:history.back()Back/a
/td/tr/table
/td/tr/table
/center
/body
/html
-------------------------------------------------
如何使用ASP在自己的网站建立投票机制(二)
翻译整理
4、文件default.asp
%
ID = Request(ID)
If ID =  Then
ID = 30
End I
Title = Polls (Create your own poll)
%
html
headlink rel=STYLESHEET type=text/css href=style.css
titleASP 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=leftimg src=asp_poll.gif width=231 height=90brAnother joint product from a href=http://www.ncws.com/tippycowTippedCow target=_blank>http://www.ncws.com/tippycowTipped">http://www.ncws.com/tippycowTippedCow Development/a and a href=http://dstoflet.calweb.comAdrenalin Labs/a
brbr
/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=#4f4f4ftr
td colspan=3 bgcolor=#000000 align=center class=bold2Select A Poll/td
/trtr
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.EO
%
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 CHECKEDbr
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/formbr
div align=left class=bold
a href=create_poll1.aspCreate your own poll/abr
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=#ccccfftrtd
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=#4f4f4ftr
!-- td colspan=3 bgcolor=#2f2f4f align=centerfont face=verdana color=#f5fcdc
Poll: %=rs(PollName)%
/td --
/trtr
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%/tdtd bgcolor=#FFFFFF align=leftinput type=radio name=choice value=%=I%
/td/tr
%
End I
Next
%
/tr
% If rs(GetName) = 1 Then %
trtd 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 I
%
/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 I
Function ConvertToPercent(total, sz)
If sz = 0 Then
ConvertToPercent = 0%
Else
ConvertToPercent = FormatPercent(sz/total, 2)
End I
End Function
Sub ShowVote
%
div align=right
table width=125 border=1 cellspacing=0 cellpadding=0trtd
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=  DBPat
conn.open dsnpat
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% /tdtd valign=top colspan=1 width=20% bgcolor=#000000 input type=radio name=choice value=%=I%
/td/tr
%
End I
Next
%
tr
td colspan=3 align=center bgcolor=#2f2f4f align=right
input type=submit value=Submit class=nav
/td/tr
/table
%
End I
%
/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=  DBPat
conn.open dsnpat
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=  DBPat
conn2.open dsnpat
Set rs2 = Conn.Execute(sql)
If rs2.EOF = False Then
Responses(I) = rs2(0)
End I
rs2.Close
conn2.Close
End I
Next
%
div align=right
table border=1 cellspacing=0 cellpadding=2trtd
table width=125 border=0 cellspacing=0tr
td colspan=2 bgcolor=#2f2f4f align=center class=orgboldASP Poll
/td/tr
trtd 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 I
Next
For I=1 To 5
choice = Choices(I)
responseCount = Responses(I)
If choice   Then
Response.Write trtd colspan=1 align=leftfont face=verdana size=-1 color=#f0f0f0
Response.Write choice
Response.Write /td
Response.Write td  ConvertToPercent(total, responseCount)  /td
Response.Write /tr
End I
Next
Response.Write /table/td/tr/table/div
End I
End Sub
%
/div

  评论这张
 
阅读(143)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017