Foro de Informatica
" Hay la misma diferencia entre un sabio y un ignorante que entre un hombre vivo y un cadáver "

- Aristóteles -



        


Google
 
Web www.ComputerFacil.com
Forista del Mes:

amateos1404


  Reply to this topicStart new topicStart Poll

> Una Encuesta En Asp
dejavi
  Publicado: Aug 25 2007, 02:06 AM
Quote Post


Tera user
Group Icon

Grupo: Moderadores
Mensajes: 3.666
Miembro nº: 17.695
Registrado: 18-January 07



250807.



Para realizar una encuesta y llevar el cuento de votos necesitaremos 1 tabla de Access. Ademas usaremos dos página ASP. En la primera mostraremos la pregunta con el formulario o botones, y en la segunda mostraremos los resultados.
No es nada dificil, pero hay que prestarle antención al código.
Una tabla igual a esta es la que deberian usar con este script:

La primer pagina es un formulario en HTML puro:

Archivo: encu.asp

<FORM METHOD="post" ACTION="encu2.asp">
¿Qué programa usas para escribir tus scripts?<BR><BR>
Notepad: <INPUT NAME="mismo" TYPE="Radio" VALUE="1"><BR>
HomeSite: <INPUT NAME="mismo" TYPE="Radio" VALUE="2"><BR>
Visual Interdev: <INPUT NAME="mismo" TYPE="Radio" VALUE="3"><BR>
DreamWeaber: <INPUT NAME="mismo" TYPE="Radio" VALUE="4"><BR><BR>
<INPUT TYPE="Submit" VALUE="Votar!">
</FORM>

La segunda página contiene todo el código ASP. Verifica si votamos, ingresa el voto y muestra el gráfico de barras.

Archivo: encu2.asp

<%@ Language=VBScript%>
<%
'Verificamos que efectivamente alguien haya votado.
If Request.Form="" then
'Si no votó y redireccionamos a encu.asp
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=D:\tucarpeta\bd\basebd.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>Voto sumado a NotePad<BR>"
ElseIf voto = "2" then
oConn.Execute "UPDATE encuesta SET Dato2="&RS.Fields("Dato2")+1&""
RS.Requery
Response.Write "<BR>Voto sumado a HomeSite<BR>"
ElseIf voto = "3" then
oConn.Execute "UPDATE encuesta SET Dato3="&RS.Fields("Dato3")+1&""
RS.Requery
Response.Write "<BR>Voto sumado a Visual Interdev<BR>"
ElseIf voto = "4" then
oConn.Execute "UPDATE encuesta SET Dato4="&RS.Fields("Dato4")+1&""
RS.Requery
Response.Write "<BR>Voto sumado a DreamWeaber<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="25" SRC="" BORDER="1" WIDTH="<%= CInt(RS("Dato1")*100/total)%>%"><BR>
<IMG HEIGHT="25" SRC="" BORDER="1" WIDTH="<%= CInt(RS("Dato2")*100/total)%>%"><BR>
<IMG HEIGHT="25" SRC="" BORDER="1" WIDTH="<%= CInt(RS("Dato3")*100/total)%>%"><BR>
<IMG HEIGHT="25" SRC="" BORDER="1" WIDTH="<%= CInt(RS("Dato4")*100/total)%>%"><BR>
</TD></TR></TABLE>
<%
'Limpiamos y cerramos todo.
RS.Close
oConn.Close
Set Rs = Nothing
Set oConn = Nothing
End If
%>

</BODY>
</HTML>


laugh.gif






--------------------
user posted image
PMEmail Poster
Top
0 usuario(s) está(n) leyendo esta discusión (0 invitado(s) y 0 usuario(s) anónimo(s))
0 miembro(s):

Topic Options Reply to this topicStart new topicStart Poll

 


ComputerFacil.com © 2006
          Webs Afiliadas - Contacto
Ofertas PCs :: Consultor de Marketing Online :: Foros :: Posicionamiento Web :: Foros de Informatica :: Foros :: eurodipity :: elhacker