Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

xanburzum

[Resolvido] Sistema de votação simples

Recommended Posts

Sistema de votação simples utiliza um BD em access.

 

 

Em uma banco de dados, com a seguinte estrutura, tabela, chamada tabela

com os campos abaixo, listados:

 

ip - Texto

selection1 - Número

selection2 - Número

selection3 - Número

selection4 - Número

entered - Data/Hora

 

<%
'Duas variaveis são passadas para o db 
'u_input é o valor, caso o usuário digitar 
'a pergunta vote/poll  .... é o endereço IP do usuário
u_input=request.form("u_input")
u_ip=request.servervariables("remote_addr")

'Se o usuário não digitar nada a 
' exibir a enquete/ pergunta e escolhas possíveis
if u_input = "" then
%>

<form method="post" action="<%= request.servervariables("script_name") %>">
<p>Perguntas<br>
<input type="radio" value="1" name="u_input"> Item A<br>
<input type="radio" value="2" name="u_input" >Item B<br>
<input type="radio" value="3" name="u_input" checked>Item C<br>
<input type="radio" value="4" name="u_input">Item D<br>
<input type="submit" value="Submit" ></p>
</form>

<%
else
' se o usuário fez uma opção de entrada na votação 
'Verifique se seu endereço IP já está no db
accessdb="votes_db" 
cn="driver={Microsoft Access Driver (*.mdb)};"
cn=cn & "dbq=" & server.mappath(accessdb)
set rs = server.createobject("ADODB.Recordset")
sql = "select ip from tabela where ip ='" & u_ip & "'"

rs.Open sql, cn
if rs.eof then
' se o usuário não tenha votado anteriormente indicam que
javotou="No"
end if
rs.close

if javotou = "No" then
'Uma vez que o usuário não tenha votado anteriormente a sua entrada 
'O seu voto será acrescentado ao db

sql = "insert into tabela (ip, selection" & u_input &") "
sql = sql & "values ('" & u_ip & "',1)"
rs.Open sql, cn
end if

'This will summerize and count the records in the db
sql= "select distinctrow sum(selection1) as sum_selection1, " 
sql= sql & "sum(selection2) AS sum_selection2, sum(selection3) AS sum_selection3, "
sql= sql & "sum(selection4) AS sum_selection4, count(*) AS total_votes "
sql= sql & "FROM tabela;"
rs.Open sql, cn
total1=rs ("sum_selection1")
total2=rs ("sum_selection2")
total3=rs ("sum_selection3")
total4=rs ("sum_selection4")
count=rs ("total_votes")
%>
<br>
Item A<img src="images/red.jpg" height="10" width="<%= (total1/count)*100 %>">
<%= formatnumber((total1/count)*100,1)  %>%<br>
Item B<img src="images/yellow.jpg" height="10" width="<%= (total2/count)*100 %>">
<%= formatnumber((total2/count)*100,1)  %>%<br>
Item C<img src="images/green.jpg" height="10" width="<%= (total3/count)*100 %>">
<%= formatnumber((total3/count)*100,1)  %>%<br>
Item D<img src="images/blue.jpg" height="10" width="<%= (total4/count)*100 %>">
<%= formatnumber((total4/count)*100,1)  %>%<br>
Total de Votos: <%= formatnumber(count,0,0) %><br>
 
<% if javotou <> "No" then %>
Este usuário já votou antes <u>e não foi contado....</u>
<% else %>
Este usuário <u>não</u> votou antes e isso foi contabilizado......
<% end if %>
<br>
Seu I.P. Address é <%= u_ip %>
<% end if %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.