Código de ASP - Encuesta

Imágen de perfil

Encuestagráfica de visualizaciones


ASP

estrellaestrellaestrellaestrellaestrella(2)
Publicado el 13 de Febrero del 2002 por Administrador
26.108 visualizaciones desde el 13 de Febrero del 2002. Una media de 42 por semana
Código de una encuesta en ASP con Base de Datos SQL Server.

Versión 1
estrellaestrellaestrellaestrellaestrella(2)

Publicado el 13 de Febrero del 2002gráfica de visualizaciones de la versión: Versión 1
26.109 visualizaciones desde el 13 de Febrero del 2002. Una media de 42 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Antes de utilizar este código, hay que crear la base de datos en SQL Server.
Para este ejemplo, la tabla se llama 'Encuesta', la cual dispone de 3 campos:
1.- e_si - INT
2.- e_no - INT
3.- IP - NVARCHAR(15) -> Determina la IP de la ultima person que ha votado.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
'---------------inicio.asp-------------
'--- http://www.lawebdelprogramador ---
<table border=1 CELLSPACING=0 CELLPADDING=5 WIDTH=200 bordercolor="#3a6ea5">
  <tr>
    <td>
      <table border=0 CELLSPACING=0 CELLPADDING=0 WIDTH=100%>
        <tr>
          <td><font face="Arial" size=2>
            Crees que el programa Napster está incurriendo en alguna ley contra el mercado discográfico?
            <%
            'Abrimos la base de datos
            set objBase=server.CreateObject("ADODB.Connection") 
            set objTabla=server.CreateObject("ADODB.RecordSet") 
            'Servidor=Dirección de nuestro servidor
            'BaseDatos=Nombre de nuestra base de datos
            objbase.Open "PROVIDER=SQLOLEDB;DATA SOURCE=Servidor;UID=Usuario;PWD=Password;DATABASE=BaseDatos" 
            'Consulta SQL Sobre la tabla Encuesta, la cual nos devuelve el primer y unico registro.
            set objtabla=objbase.Execute("select * from Encuesta")
            varsi=clng(objtabla.Fields("e_si"))
            varno=clng(objtabla.Fields("e_no"))
            'Comprobamos que la IP del usuario sea distinta de la que hay en al base de datos
            ipUser=cstr(Request.ServerVariables("REMOTE_ADDR")) 
            cor=False 
            if ipuser=objtabla.Fields("ip") then Cor=true 
            if Request.QueryString("Encuesta")="true" and cor=false then 
              if Request.QueryString("Valor")="Si" then 
                'Aumentamos en uno el valor de si, y guardamos la IP en la Tabla
                varsi=varsi+1
                set objtabla=objbase.Execute("UPDATE Encuesta SET e_si=" & varsi & ",ip='" & ipuser & "'")
              end if
              if Request.QueryString("Valor")="No" then
                'Aumentamos en uno el valor de no, y guardamos la IP en la Tabla
                varno=varno+1 
                set objtabla=objbase.Execute("UPDATE Encuesta SET e_no=" & varno & ",ip='" & ipuser & "'")
              end if 
            end if 
            objbase.close%> 
            <center> 
            <%if Request.QueryString("Valor")="" and cor=false then%> 
            <!--Muestra el formulario para realizar la votación--> 
              <form method=GET action="inicio.asp" id=form1 name=form1> 
              <input type="hidden" name="Encuesta" value="true"> 
              <table border=0 cellpadding=0 cellspacing=0 width=100%> 
                <tr> 
                  <td align=center><font face="Arial" size=2> 
                    <input type="radio" name="Valor" Value="Si">Si 
                    <BR><input type="radio" name="Valor" Value="No">No 
                  </td> 
                  <td align=center><font face="Arial" size=2> 
                    <input type="submit" value="Enviar" id=submit1 name=submit1> 
                  </td> 
                </tr> 
              </table> 
              </form> 
            <%else%> 
              <font face="Arial" size=2 color="#ff0000"><P><B>GRACIAS por colaborar</B><P></font> 
            <%end if%> 
            </center> 
            <% 
            'Mostramos el gráfico si ya han participado en la encuesta
            if varsi<>0 or varno<>0 then
              total=varsi+varno
              pos_si=(varsi*100)/total
              pos_no=(varno*100)/total
              %>
              <table border=0 width=100% cellpadding=0 cellspacing=1>
                <tr>
                  <td align=center colspan=3>
                    <!--Mostramos el total de usuarios que han participado en la encuesta en formato español--> 
                    <font face="Arial" size=2>Resultado de <%=replace(formatnumber(total,0),",",".")%> usuarios.
                  </td>
                </tr>
                <tr>
                  <!--Mostramos la gráfica--> 
                  <td>
                    <font face="Arial" size=2>SI
                  </td>
                  <td>
                    <%if pos_si>0 then%>
                      <img src="barra.gif" height=15 width=<%=cint(pos_si)%>>
                    <%end if%>
                  </td>
                  <td align=right>
                    <font face="Arial" size=2><%=formatnumber(pos_si,2)%>%
                  </td>
                </tr>
                <tr>
                  <td>
                    <font face="Arial" size=2>NO
                  </td>
                  <td>
                    <%if pos_no>0 then%>
                      <img src="barra.gif" height=15 width=<%=cint(pos_no)%>>
                    <%end if%>
                  </td>
                  <td align=right>
                    <font face="Arial" size=2><%=formatnumber(pos_no,2)%>%
                  </td>
                </tr>
              </table>
            <%end if%>
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>



Comentarios sobre la versión: Versión 1 (2)

CyrusGrissom
15 de Mayo del 2002
estrellaestrellaestrellaestrellaestrella
Excelente, muy facil de usar, si quieren verlo funcionando visiten www.mauleonline.cl
Responder
jes
18 de Diciembre del 2002
estrellaestrellaestrellaestrellaestrella
Por lo que veo se actualiza un unico registro en la bd por lo que basta con que otra ip actualize para que se cree un ciclo entre dos ip y tengas una alta votacion!! ;) ... pero es un buen codigo-
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s91