|
" Hay la misma diferencia entre un sabio y un ignorante que entre un hombre vivo y un cadáver " - Aristóteles - ![]() |
Computerfacil.com |
Chat
Fotos
Últimos Posts
Ayuda
Búsqueda
Miembros
Calendario
|
| Bienvenido, invitado ( Identificarse | Registrarse ) | Reenviar mensaje de validación |
|
|
Forista del Mes: amateos1404
|
![]() ![]() ![]() |
| dejavi |
|
![]() Tera user 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> -------------------- |
![]() |
![]() ![]() ![]() |
|
|
|