Código de ASP - Encuesta

Imágen de perfil

Encuestagráfica de visualizaciones


ASP

Publicado el 13 de Febrero del 2002 por Administrador (692 códigos)
27.636 visualizaciones desde el 13 de Febrero del 2002
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
27.637 visualizaciones desde el 13 de Febrero del 2002
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...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s91