
Encuesta
ASP
Publicado el 13 de Febrero del 2002 por Administrador (718 códigos)
28.559 visualizaciones desde el 13 de Febrero del 2002
Código de una encuesta en ASP con Base de Datos SQL Server.
'---------------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>
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.