Un sistema de encuestas con ASP

0
Un sistema de encuestas con ASP

Your ads will be inserted here by

Easy Plugin for AdSense.

Please go to the plugin admin page to
Paste your ad code OR
Suppress this ad slot.

Las encuestas juegan un papel importante en nuestro sitio web, ya que a través de ellas podemos conocer la opinión de nuestros visitantes sobre algún tema determinado. Este tutorial te enseña a crear un sistema de encuestas para tu web, escrito en el lenguaje ASP.

<%next %>

Este ejemplo muestra como montar un sistemas de encuestas en nuestra web

Lo basamos en una bd que contendrá la pregunta y las posibles respuestas a estas, esto nos evitar tocar el código html cada vez que variemos la encuesta. Mantendremos un registro por cada encuesta y un campo en dicho registro indicara cual es la encuesta activa en ese momento.

La estructura de la tabla encuestas en la BD Tencuestas es :

Nuestra aplicación consta de 2 módulos principales( encuesta.asp y verencuesta.asp) mas un modulo de visualización de todas las encuestas (historico.asp).

Además he incluido el código de 2 módulos de mantenimiento, que nos servirán para incluir nuevas encuestas desde la web (crearencuesta.htm y crearencuesta.asp). El uso de estos módulos implica la creación en la bd de una nueva tabla para el almacenamiento de la clave de creación de encuestas.

Estructura de la tabla clave en la BD Tencuestas

Para mostrar la encuesta en una página lo haremos con un include

Lo que nos permite mostrar la encuesta en cualquier página con solo una línea de código

Módulos básicos del sistema

encuesta.asp

<%Set Connae = Server.CreateObject("ADODB.Connection")
Connae.Open(«Provider=Microsoft.Jet.OLEDB.4.0;Data Source=» & Server.MapPath(«/xxxxx/Tencuestas.mdb»))

 

set rse=createobject(«ADODB.Recordset»)
sqltxt=»SELECT * from encuestas where activa=true»
rse.open sqltxt,connae
if not rse.EOF then
%>

 

<%for i = 0 to rse("nopciones")-1 step 1 %>

<%next
rse.close%>

Encuesta
del mes

<font face=»Verdana» size=»1″><%=rse("pregunta")%>

<%=rse(i)%>

Historico de encuestas

<%else
rse.close
end if
connae.close
set connae=nothing
%>

verencuesta.asp

<% @LCID = 1034 %>
<%response.expires=-1000%>

<%
Set Conn = Server.CreateObject(«ADODB.Connection»)
Conn.Open(«Provider=Microsoft.Jet.OLEDB.4.0;Data Source=» & Server.MapPath(«/xxxxx/Tencuestas.mdb»))

if request.form(«opcion»)<>«» then

select case true

case request.form(«opcion»)=0
campo=»r1″
case request.form(«opcion»)=1
campo=»r2″
case request.form(«opcion»)=2
campo=»r3″
case request.form(«opcion»)=3
campo=»r4″
end select

sqltxt=»update encuestas set «&campo&» = «&campo&»+1 where activa=True»

conn.execute sqltxt
end if
%>

Las encuestas de AspTutor


<%if request.form("opcion")<>«» then%>

Muchas gracias por participar en la
encuesta

<%end if
dim colores(3)
colores(0)=»red»
colores(1)=»blue»
colores(2)=»green»
colores(3)=»black»
tamatabla=400 ‘tamaño de la tabla

 

set rs=createobject(«ADODB.Recordset»)
sqltxt=»SELECT * from encuestas where activa=true»
rs.open sqltxt,conn
if not rs.EOF then
%>

» bgcolor=»#0000FF»>

<%=rs("pregunta")%>

if totvotos< 1 then totvotos=1
for i = 0 to rs(«nopciones»)-1 step 1 %>
<%porcentaje=formatnumber(rs(i+4)*100/totvotos,2)%>

<%=rs(i)%>

<%=porcentaje%>%

Total de votos: <%=totvotos%>

<%if rs("inicio")<>«» then%>

Fecha de inicio: <%=rs("inicio")%>

<%end if%>

<%if rs("fin")<>«» then%>

Fecha de cierre: <%=formatdatetime(rs("fin"),2)%>

<%end if%>

<%rs.close
set conn = nothing
end if%>

Cerrar
ventana

Ver
todas las encuestas

Sistema de encuestas de

historico.asp

Historico de encuestas


 

style=»background-color: rgb(0,255,255)»>Histórico de encuestas

<%
Set Conn = Server.CreateObject(«ADODB.Connection»)
Conn.Open(«Provider=Microsoft.Jet.OLEDB.4.0;Data Source=» & Server.MapPath(«/xxxxx/Tencuestas.mdb»))
dim colores(3)
colores(0)=»red»
colores(1)=»blue»
colores(2)=»green»
colores(3)=»black»
tamatabla=400 ‘tamaño de la tabla

 

set rs=createobject(«ADODB.Recordset»)
sqltxt=»SELECT * from encuestas order by idencuesta desc»
rs.open sqltxt,conn
do while not rs.EOF%>

» bgcolor=»#0000FF»>

<%=rs("pregunta")%>

if totvotos< 1 then totvotos=1
for i = 0 to rs(«nopciones»)-1 step 1 %>
<%porcentaje=formatnumber(rs(i+4)*100/totvotos,2)%>

<%=rs(i)%>

<%=porcentaje%>%

<%next %>

Total de votos: <%=totvotos%>

<%if rs("inicio")<>«» then%>

Fecha de inicio: <%=rs("inicio")%>

<%end if%>

<%if rs("fin")<>«» then%>

Fecha de cierre: <%=formatdatetime(rs("fin"),2)%>

<%end if%>

<%rs.movenext
loop
rs.close
set rs=nothing
conn.close
set conn=nothing

%>

Your ads will be inserted here by

Easy Plugin for AdSense.

Please go to the plugin admin page to
Paste your ad code OR
Suppress this ad slot.

Sistema de encuestas de

Módulos de mantenimiento

crearencuesta.htm

Crear una nueva encuesta

Crear una nueva encuesta

Sistema de encuestas de

Pregunta
Respuesta 1
Respuesta 2
Respuesta 3
Respuesta 4
Clave de creación


Activar la encuesta una vez insertada

crearencuesta.asp

Creacion de encuestas


<%Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3
Const adLockBatchOptimistic = 4

Set Conn = Server.CreateObject(«ADODB.Connection»)
Conn.Open(«Provider=Microsoft.Jet.OLEDB.4.0;Data Source=» & Server.MapPath(«/xxxxx/Tencuestas.mdb»))

 

set rs=createobject(«ADODB.Recordset»)
if request.form(«activar»)=»ON» then
fin=month(date)&»/»&day(date)&»/»&year(date)

sqltxt=»update encuestas set fin=#»&fin&»# where activa=True»
‘response.write sqltxt
conn.execute sqltxt

sqltxt=»update encuestas set activa=False where activa=True»
conn.execute sqltxt

end if

sqltxt=»select * from clave»
rs.open sqltxt,conn
if rs(«clave»)<> request.form(«clave») then
rs.close
%>

Clave ERRONEA

Intentalo de nuevo

<%else
rs.close
pregunta=trim(request.form(«pregunta»))
tr1=trim(request.form(«tr1»))
tr2=trim(request.form(«tr2»))
tr3=trim(request.form(«tr3»))
tr4=trim(request.form(«tr4»))
if request.form(«activar»)=»ON» then
activar=True
else
activar=false
end if

if tr1=»» or tr2=»» or pregunta=»» then%>

Al menos se deben ofrecer una pregunta y
las alternativas 1 y 2

Intentalo de nuevo

 

 

<%
else
nopciones=2
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.open «encuestas»,conn
rs.addnew
rs(«pregunta»)=pregunta
rs(«tr1»)=tr1
rs(«r1»)=0
rs(«tr2»)=tr2
rs(«r2»)=0
if tr3 <> «» then
nopciones=3
rs(«tr3»)=tr3
rs(«r3»)=0
if tr4 <> «» then
nopciones=4
rs(«tr4»)=tr4
rs(«r4»)=0
end if
end if
rs(«nopciones»)=nopciones
rs(«activa»)=activar
if request.form(«activar»)=»ON» then
rs(«inicio»)=date
end if
rs.update%>

Nueva Encuesta creada

identificador <%=rs("idencuesta")%>
Pregunta <%=rs("pregunta")%>
Opción 1 <%=rs("tr1")%>
Opción 2 <%=rs("tr2")%>
Opción 3 <%=rs("tr3")%>
Opción 4 <%=rs("tr4")%>
Activacion <%=activar%>

<%rs.close
conn.close
end if
end if%>

Sistema de encuestas de

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies