

<%
'define as variáveis que serão usadas na código
dim ja_votou , u_input , cn , rs , sql , u_ip , contador , total_votos
'Duas variáveis são passadas gravadas no banco de dados
'u_input = é o valor se o usuario entrou uma resposta para a questão
'IP = é o endereço IP do usuario
u_input=request.form("u_input")
'pega o endereço IP do usuario
u_ip=request.servervariables("remote_addr")
' Se o usuário não entrou um valor para a questão então vamos mostrar
' a questão a relação de opções possíveis para resposta
if u_input = "" then
%>
'exibe o formulário com a pergunta e as opções
'ao clicar em enviar o método post envia o formulário
' o conjunto serverVariables inclui uma variável chamada script_name que representa o nome da página atual
' ou seja a página atual enquete.asp será submetida ao servidor
<form method="post" action="<%= request.servervariables("script_name") %>">
<p><font color="#0033FF" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>
Você gostaria que o site tivesse mais artigos sobre:</strong></font></p>
<p> <font face="Verdana, Arial, Helvetica, sans-serif"> <strong>
<input type="radio" value="1" name="u_input">
<font color="#0033FF">VB 5/6<br>
<input type="radio" value="2" name="u_input" >
VB .NET<br>
<input type="radio" value="3" name="u_input" checked>
ASP<br>
<input type="radio" value="4" name="u_input">
ASP.NET<br>
<input type="radio" value="5" name="u_input">
C#<br>
<input type="radio" value="6" name="u_input">
VBA<br>
<input type="radio" value="7" name="u_input">
SQL</font></strong></font></p>
<p>
<input type="submit" value="Enviar" > <b>
<font face="Verdana" size="2" color="#0000FF">
<font color="#FF0000"><A HREF=" javascript:window.close()">Fechar</a></font></a></font></b></p>
</form>
<%
else
' Se o usuario entrou uma escolha na enquete
' verifica se o seu IP já foi registrado no BD
BaseDados="enquetes.mdb"
'Usei um provedor OLE DB para efetuar a conexão com o banco de daos enquetes.mdb
'poderia ter usado cn="driver={Microsoft Access Driver (*.mdb)};" mas não a performance do provedor OLE DB é melhor
cn= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/inetpub/wwwroot/enquete/" & BaseDados
'criei um recordset ADO e selecionei o número ip da tabela enquete1 que fosse igual ao ip do usuário atual
set rs = server.createobject("ADODB.Recordset")
sql = "select ip from enquete1 where ip ='" & u_ip & "'"
'executei a consulta sql
rs.Open sql, cn
'se o recordset estiver vazio o usuário ainda não votou
if rs.eof then
' Se o usuario nao votou antes beleza atribuo o valor No a variável ja_votou
ja_votou="No"
end if
'fecha o recordset
rs.close
if ja_votou = "No" then
' Se o usuario não votou então vamos gravar o voto no bd usando uma instrução SQL INSERT INTO
sql = "insert into enquete1 (ip, opcao" & u_input &") "
sql = sql & "values ('" & u_ip & "',1)"
'efetiva a gravação no banco de dados
rs.Open sql, cn
end if
'Vamos fazer um resumo e a estatistica dos votos por opção e calcular o total de votos
sql= "select distinctrow sum(opcao1) as soma_opcao1, "
sql= sql & "sum(opcao2) AS soma_opcao2, sum(opcao3) AS soma_opcao3, "
sql= sql & "sum(opcao4) AS soma_opcao4, sum(opcao5) AS soma_opcao5,"
sql= sql & "sum(opcao6) AS soma_opcao6, sum(opcao7) AS soma_opcao7, count(*) AS total_votos "
sql= sql & "FROM enquete1;"
rs.Open sql, cn
'totaliza os votos por opção e armazena nas variáveis definidas
total1=rs ("soma_opcao1")
total2=rs ("soma_opcao2")
total3=rs ("soma_opcao3")
total4=rs ("soma_opcao4")
total5=rs ("soma_opcao5")
total6=rs ("soma_opcao6")
total7=rs ("soma_opcao7")
'obtem o total de votos do recodset gerado
contador=rs ("total_votos")
%>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="56%" id="AutoNumber1">
<tr>
<td width="136%" bgcolor="#FFFFFF" align="left" colspan="3">
<font color="#0033FF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>
Você gostaria que o site tivesse mais artigos sobre:</strong></font></td>
</tr>
<tr>
<td width="34%" bgcolor="#E8E8E8" align="left"><strong>
<font face="Verdana" size="1" color="#0033FF"> opção
</font></strong></td>
<td width="27%" bgcolor="#E8E8E8" align="left">
<p align="left"><font face="Verdana" size="1" color="#0033FF"><strong> Votos
</strong></font></td>
<td width="75%" bgcolor="#E8E8E8" align="left">
<strong style="font-weight: 400"><font face="Verdana" size="1"> Percentual</font></strong></td>
</tr>
<tr>
<td width="34%">
<font face="Verdana, Arial, Helvetica, sans-serif" color="#0033FF"> <strong> VB 5/6</strong></font></td>
<td width="27%"><font face="Verdana, Arial, Helvetica, sans-serif" color="#0033FF"><%=total1%></font></td>
<td width="75%">
<font face="Verdana" size="2"><strong style="font-weight: 400"> <img src="images/red.jpg" height="10" width=
"<%= (total1/contador)*100 %>"> <%= formatnumber((total1/contador)*100,1) %>% </strong></font></td>
</tr>
<tr>
<td width="34%"> <font face="Verdana, Arial, Helvetica, sans-serif"> <strong>
<font color="#0033FF">VB .NET </font></strong></font></td>
<td width="27%"><font face="Verdana, Arial, Helvetica, sans-serif" color="#0033FF"><%=total2%></font></td>
<td width="75%">
<font face="Verdana" size="2"><strong style="font-weight: 400"> <img src="images/yellow.jpg" height="10" width=
"<%= (total2/contador)*100 %>"> <%= formatnumber((total2/contador)*100,1) %>% </strong></font></td>
</tr>
<tr>
<td width="34%"> <font face="Verdana, Arial, Helvetica, sans-serif"> <strong>
<font color="#0033FF">ASP </font></strong></font></td>
<td width="27%"><font face="Verdana, Arial, Helvetica, sans-serif" color="#0033FF"><%=total3%></font></td>
<td width="75%">
<font face="Verdana" size="2"><strong style="font-weight: 400"> <img src="images/green.jpg" height="10" width=
"<%= (total3/contador)*100 %>"> <%= formatnumber((total3/contador)*100,1) %>%
</strong></font></td>
</tr>
<tr>
<td width="34%"> <font face="Verdana, Arial, Helvetica, sans-serif"> <strong>
<font color="#0033FF">ASP.NET </font></strong></font></td>
<td width="27%"><font face="Verdana, Arial, Helvetica, sans-serif" color="#0033FF"><%=total4%></font></td>
<td width="75%">
<font face="Verdana" size="2"><strong style="font-weight: 400"> <img src="images/blue.jpg" height="10" width=
"<%= (total4/contador)*100 %>"> <%= formatnumber((total4/contador)*100,1) %>%
</strong></font></td>
</tr>
<tr>
<td width="34%"> <font face="Verdana, Arial, Helvetica, sans-serif"> <strong>
<font color="#0033FF">C# </font></strong></font></td>
<td width="27%"><font face="Verdana, Arial, Helvetica, sans-serif" color="#0033FF"><%=total5%></font></td>
<td width="75%">
<font face="Verdana" size="2"><strong style="font-weight: 400"> <img src="images/pink.jpg" height="10" width=
"<%= (total4/contador)*100 %>"> <%= formatnumber((total4/contador)*100,1) %>%
</strong></font></td>
</tr>
<tr>
<td width="34%"> <font face="Verdana, Arial, Helvetica, sans-serif"> <strong>
<font color="#0033FF">VBA </font></strong></font></td>
<td width="27%"><font face="Verdana, Arial, Helvetica, sans-serif" color="#0033FF"><%=total6%></font></td>
<td width="75%">
<font face="Verdana" size="2"><strong style="font-weight: 400"> <img src="images/grey.jpg" height="10" width=
"<%= (total4/contador)*100 %>"> <%= formatnumber((total4/contador)*100,1) %>%
</strong></font></td>
</tr>
<tr>
<td width="34%"> <font face="Verdana, Arial, Helvetica, sans-serif"> <strong>
<font color="#0033FF">SQL </font></strong></font></td>
<td width="27%"><font face="Verdana, Arial, Helvetica, sans-serif" color="#0033FF"><%=total7%></font></td>
<td width="75%">
<font face="Verdana" size="2"><strong style="font-weight: 400"> <img src="images/black.jpg" height="10" width=
"<%= (total4/contador)*100 %>">
</strong>
<%= formatnumber((total4/contador)*100,1) %>% </font> </td>
</tr>
</table>
<br>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">Total dos Votos : <%= formatnumber(contador,0,0) %>
</font><p> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<% if ja_votou <> "No" then %>
Você já votou !!! seu voto <b>NÃO</b> foi contado.
<% else %>
</font></p>
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Obrigado por participar !!
<% end if %> </font></p>
<% end if %>* A base de dados não esta normalizada
* o número ip escolhido para identificar unicamente um usuário apresenta problemas pois usuários com ip dinâmico poderão votar várias vezes
* o código não é reutilizável e deverá ser reescrito para cada enquete que se deseje criar , etc...
* Embora funcional a solução não é nada elegante em termos de interface e código.


Todas as matérias de Diego Darlan
O computador terá o tamanho que você quiser. Poderá ser do tamanho da .
Aqui veremos como aplicar uma tatuagem a qualquer pessoa de uma maneir.
Público é um item fundamental para se ter um site. De que adianta você.
Veja como transformar suas imagens em quebra cabeças de uma maneira be.
Olá pessoal, estou aqui para mais uma vídeo aula, desta vez vou mostra.
Nesta coluna aprenderemos montar um Gráfico utilizando o componente Fu.
Podemos definir classes como um objeto, com seus próprios métodos (fun.
Essa matéria não pretende mostrar, nem de longe, todos os problemas e .
O objeto Request se refere a todos os dados requisitados pelo servidor.
Active Server Pages (ASP) é uma linguagem para geração de pá.
© 2005 - 2009 - Oficina da Net - v 4.0 - É proibida a reprodução parcial ou completa do conteúdo deste site sem autorização por escrito. Resolução adequada: 1024x768px.
Seja o primeiro a comentar!