|
|
|

|

|
Dicas
|

|
ASP - Active Server Page (Miscelâneas)
|
|
 |
Título da Dica: colocando uma enquete no site
|
 |
|
|
Postada em 3/5/2004 por Martini
****tabelas Enquetes Codigo da enquete Pergunta Ativo Enquetes_alternativas Codigo da alternativa Codigo da enquete Alternativa Votos
**** formulário da enquete e SQL para colocar pergunta e alternativas nos campos Obs.: os campos das alternativas "radio" devem ter o mesmo nome e o seu valor será o código de cada alternativa do banco de dados <% 'enquete SQL4 = "SELECT Enquetes.[Codigo da enquete], Enquetes.Pergunta, Enquetes_alternativas.[Codigo da alternativa], Enquetes_alternativas.Alternativa FROM Enquetes INNER JOIN Enquetes_alternativas ON Enquetes.[Codigo da enquete] = Enquetes_alternativas.[Codigo da enquete] WHERE (((Enquetes.Ativo)=-1)) ORDER BY Enquetes_alternativas.[Codigo da alternativa];" Set rst4 = server.createobject("adodb.recordset") rst4.open SQL4, vgdb, 1, 1 %>
<form action="Enquete_Resultado.asp?Enquete=<% = rst4("Codigo da enquete") %>" method="post" name="form1" target="Default_principal"> <table width="100%" border="0" bgcolor="#C8EFFB"> <% if rst4.eof then Pergunta = "Sem Enquete" Alter1 = "Nada" Alter2 = "Nada" Alter3 = "Nada" CodAlter1 = 0 CodAlter2 = 0 CodAlter3 = 0 else Pergunta = rst4("Pergunta") Alter1 = rst4("Alternativa") CodAlter1 = rst4("Codigo da alternativa") rst4.movenext if rst4.eof then Alter2 = "Nada" CodAlter2 = 0 else Alter2 = rst4("Alternativa") CodAlter2 = rst4("Codigo da alternativa") rst4.movenext if rst4.eof then Alter3 = "Nada" CodAlter3 = 0 else Alter3 = rst4("Alternativa") CodAlter3 = rst4("Codigo da alternativa") rst4.movenext end if end if end if %> <tr> <td colspan="2"><font class="TextoPadraoAzulEscuro"><strong> <% = Pergunta %> </strong></font></td> </tr> <tr> <td width="15%"><input type="radio" name="Alternativa" value="<% = CodAlter1 %>"></td> <td width="85%"><font class="TextoPadraoAzulEscuro"> <% = Alter1 %> </font></td> </tr> <tr> <td><input type="radio" name="Alternativa" value="<% = CodAlter2 %>"></td> <td><font class="TextoPadraoAzulEscuro"> <% = Alter2 %> </font></td> </tr> <tr> <td><input type="radio" name="Alternativa" value="<% = CodAlter3 %>"></td> <td><font class="TextoPadraoAzulEscuro"> <% = Alter3 %> </font></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" name="Submit" value="Votar" class="Botao"> </td> </tr> </table> </form>
*** arquivo que mostra resultado parcial após usuário votar <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <!--#include file="Conexao_bd.asp" --> <% on error resume next Dim SQL, rst, Alternativa, Enquete, rst1, SQL1, TotalVotos Alternativa = Request("Alternativa") Enquete = request("Enquete") vgdb.execute "Update Enquetes_alternativas Set Votos = Votos + 1 Where Enquetes_alternativas.[Codigo da alternativa] = " & Alternativa SQL = "SELECT Enquetes.[Codigo da enquete], Enquetes.Pergunta, Enquetes_alternativas.[Codigo da alternativa], Enquetes_alternativas.Alternativa, Enquetes_alternativas.Votos FROM Enquetes INNER JOIN Enquetes_alternativas ON Enquetes.[Codigo da enquete] = Enquetes_alternativas.[Codigo da enquete] WHERE (((Enquetes.[Codigo da enquete])=" & Enquete & ")) ORDER BY Enquetes_alternativas.[Codigo da alternativa];" Set rst = server.createobject("adodb.recordset") rst.open SQL, vgdb, 1, 1 if rst.eof then rst.close set rst = nothing Response.Write(Default.asp) end if 'total votos SQL1 = "SELECT Sum(Enquetes_alternativas.Votos) AS SomaDeVotos FROM Enquetes_alternativas WHERE (((Enquetes_alternativas.[Codigo da enquete])=" & Enquete & "));" Set rst1 = server.createobject("adodb.recordset") rst1.open SQL1, vgdb, 1, 1 if rst1.eof then TotalVotos = 0 else TotalVotos = rst1("SomaDeVotos") end if %> <html> <style type="text/css"> <!-- BODY { SCROLLBAR-FACE-COLOR: #2769AB; SCROLLBAR-HIGHLIGHT-COLOR: #0099FF; SCROLLBAR-SHADOW-COLOR: #0099FF; SCROLLBAR-3DLIGHT-COLOR: #0099FF; SCROLLBAR-ARROW-COLOR: #0099FF; SCROLLBAR-TRACK-COLOR: #ffffff; SCROLLBAR-DARKSHADOW-COLOR: #ffffff; } --> </style> <head> <link rel="stylesheet" href="./Estilos.css" type="text/css"> <title>Resultado da Enquete - Locadora de Filmes</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>
<body leftmargin="2" topmargin="2" marginwidth="22"> <table width="604" border="0" cellspacing="0" cellpadding="0"> <tr> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td class="BordaBaixa"><font class="TextoPadraoAzulEscuro"><strong>Resultado Parcial da Enquete</strong></font></td> </tr> <tr> <td> </td> </tr> </table> <table width="100%" border="0"> <caption><font class="TextoPadraoPreto"> <% = rst("Pergunta") %></font> </caption> <tr> <td><img src="Figuras/gra_base.gif" width="11" height="25"><img src="Figuras/gra_centro.gif" width="<% = rst("Votos") %>" height="25"><img src="Figuras/gra_topo.gif"><font class="TextoPadraoPreto"> <% = rst("Alternativa") %> - <% = (int(((rst("Votos") * 100) / TotalVotos) * 10) / 10) %> %</font></td> </tr> <tr> <% rst.movenext %> <td><img src="Figuras/gra_base.gif" width="11" height="25"><img src="Figuras/gra_centro.gif" width="<% = rst("Votos") %>" height="25"><img src="Figuras/gra_topo.gif"><font class="TextoPadraoPreto"> <% = rst("Alternativa") %> - <% = (int(((rst("Votos") * 100) / TotalVotos) * 10) / 10) %> %</font></td> </tr> <tr> <% rst.movenext %> <td><img src="Figuras/gra_base.gif" width="11" height="25"><img src="Figuras/gra_centro.gif" width="<% = rst("Votos") %>" height="25"><img src="Figuras/gra_topo.gif"><font class="TextoPadraoPreto"> <% = rst("Alternativa") %> - <% = (int(((rst("Votos") * 100) / TotalVotos) * 10) / 10) %> %</font></td> </tr> </table> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td></td> </tr> <tr> <td> </td> </tr> <tr> <td align="right" class="BordaAlta"><a href="javascript:history.back()" class="LinkPadraoLista">Voltar</a></td> </tr> </table></td> </tr> </table> </body> </html> <% rst.close set rst = nothing rst1.close set rst1 = nothing %>
|
|
|
|

|