Foros del Web » Programando para Internet » ASP Clásico »

Sumar e identificar voto en encuesta

Estas en el tema de Sumar e identificar voto en encuesta en el foro de ASP Clásico en Foros del Web. Hola!...el problema que tengo es que quiero que: en primer lugar, que el usuario solo pueda votar una vez (en un mensaje pasado dice que ...
  #1 (permalink)  
Antiguo 16/02/2005, 20:53
Avatar de tork  
Fecha de Ingreso: noviembre-2003
Ubicación: Veracruz
Mensajes: 153
Antigüedad: 20 años, 7 meses
Puntos: 0
Exclamación Sumar e identificar voto en encuesta

Hola!...el problema que tengo es que quiero que: en primer lugar, que el usuario solo pueda votar una vez (en un mensaje pasado dice que usando las cookies, pero alguien podría darme el codio necesario)...y en segundo lugar, tengo 4 resultados en la base de datos quiero, que cuando el usuario vote y le aparezcan los resultados, tambien le salgan el total de votos...
Aqui esta el codigo que tengo:
<%@ Language=VBScript%>
<%
'Verificamos que efectivamente alguien haya votado.
If Request.Form="" then
'Si no votó y redireccionamos a encuesta1.html
Response.Redirect "encu.asp"
%>

<HTML>
<HEAD>
<TITLE>Encuesta con ASP</TITLE>
</HEAD>
<BODY>
<%
Else
'guardamos en voto la info del formulario.
voto = Request.Form("mismo")
'Conectamos a la BD.
Set oConn = Server.CreateObject ("ADODB.Connection")
Set RS = Server.CreateObject ("ADODB.RecordSet")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:/Inetpub/wwwroot/Database/encuestas.mdb"
'Con una sentencia SQL pedimos toda la BD.
sql = "SELECT * FROM encuesta"
RS.Open sql, oConn, 2, 2
'Si es el primer voto de todos, creamos el registro para que los UPDATES funcionen.
'Este IF solo se cumplirá una vez. La primera.
If RS.EOF = True Then
oConn.Execute "INSERT INTO encuesta(Dato1, Dato2, Dato3, Dato4) VALUES (0,0,0,0)"
RS.Requery
End If
'Comenzamos el chequeo de datos. Para todos igual
If voto = "1" then
'Si se cumple el IF, sumamos uno al campo correspondiente.
oConn.Execute "UPDATE encuesta SET Dato1="&RS.Fields("Dato1")+1&""
'La siguiente linea hace un Refresh en la Tabla, para tener los datos recientes.
RS.Requery
Response.Write "<BR><center>Voto sumado a NotePad</center><BR>"
ElseIf voto = "2" then
oConn.Execute "UPDATE encuesta SET Dato2="&RS.Fields("Dato2")+1&""
RS.Requery
Response.Write "<BR><center>Voto sumado a HomeSite</center><BR>"
ElseIf voto = "3" then
oConn.Execute "UPDATE encuesta SET Dato3="&RS.Fields("Dato3")+1&""
RS.Requery
Response.Write "<BR><center>Voto sumado a Visual Interdev</center><BR>"
ElseIf voto = "4" then
oConn.Execute "UPDATE encuesta SET Dato4="&RS.Fields("Dato4")+1&""
RS.Requery
Response.Write "<BR><center>Voto sumado a DreamWeaber</center><BR>"
End If
'Sumamos todos los votos y los guardamos en una variable.
total = CInt(RS("Dato1"))+CInt(RS("Dato2"))+CInt(RS("Dato3 "))+CInt(RS("Dato4"))
'Mostrar el gráfico.
%>
<TABLE ALIGN="center" WIDTH="90%" BORDER="1" CELLPADDING="0" CELLSPACING="0"><TR><TD>
<IMG HEIGHT="23" SRC="img1.jpg" BORDER="1" WIDTH="<%= CInt(RS("Dato1")*100/total)%>%"><center><%= CInt(RS("Dato1")*100/total)%>%</center><BR>
<IMG HEIGHT="23" SRC="img2.jpg" BORDER="1" WIDTH="<%= CInt(RS("Dato2")*100/total)%>%"><center><%= CInt(RS("Dato2")*100/total)%>%</center><BR>
<IMG HEIGHT="23" SRC="img3.jpg" BORDER="1" WIDTH="<%= CInt(RS("Dato3")*100/total)%>%"><center><%= CInt(RS("Dato3")*100/total)%>%</center><BR>
<IMG HEIGHT="23" SRC="img4.jpg" BORDER="1" WIDTH="<%= CInt(RS("Dato4")*100/total)%>%"><center><%= CInt(RS("Dato4")*100/total)%>%</center><BR>
</TD></TR></TABLE><center>Total de votos:<%= CInt(RS("Total"))%>
<%
'Limpiamos y cerramos todo.
RS.Close
oConn.Close
Set Rs = Nothing
Set oConn = Nothing
End If
%>

</BODY>
</HTML>


GRACIAS DE ANTEMANO
__________________
... www.kaomix.com ... :aplauso:
kao0 power
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:15.