Con la popularidad de Internet, las encuestas en línea a menudo pueden lograr mejores resultados. Poner un tablero de encuestas de preguntas interesantes en su sitio web personal realmente puede agregar mucho color al sitio web y, a través de los resultados de la encuesta, puede conocer con mayor precisión las opiniones de los internautas en su sitio web. Como webmaster, si su sitio web también necesita realizar encuestas sobre un tema determinado y odia usar foros de encuestas proporcionados por otros de forma gratuita (¡lo gratuito a menudo tiene un precio, como la publicidad!), le sugiero que dedique diez minutos. para leer este artículo que presenta el uso de ASP para crear un tablero de encuestas. Sólo necesita copiar el código del artículo en su máquina, realizar ligeras modificaciones e inmediatamente tendrá su propio tablero de encuestas personalizado. Vale, anímate y mira hacia abajo.
Hay tres archivos en este tablero de encuestas: mostrar las preguntas de la encuesta (research.html), procesar las selecciones del usuario (select.asp) y ver los resultados de la encuesta (viewresult.asp). La idea del diseño es: ASP obtiene la información enviada del formulario y, en consecuencia, modifica la base de datos que registra el número de votos en la encuesta. Luego ASP lee la base de datos, obtiene el número de votos para cada pregunta de la encuesta y ajusta la barra correspondiente. Visualización de gráficos en función del número de votos. Los resultados de la encuesta se presentan de forma intuitiva y proporcional. He dado comentarios más detallados sobre los puntos clave del programa y no entraré en los conocimientos básicos de ASP aquí. Los lectores pueden consultarlo en la columna Taoba ASP. Por supuesto, espero que cuando depures el programa en tu propio servidor, si no entiendes algo, consultes el manual técnico de ASP que te rodea para ver la sintaxis detallada de objetos, métodos o funciones, intenta modificarlo, y vea cómo cambian los resultados. Esta es una excelente manera de aprender a programar.
1. Mostrar preguntas de la encuesta (research.html)
El diseño de las preguntas de la encuesta debe basarse en la situación real, ya sea práctica o interesante, y el estilo que se muestra en la página web puede ser simple o animado. En este ejemplo, se trata de. pregunta en la página de inicio del autor. Una encuesta interesante sobre "¿Qué es lo más importante en el siglo XXI?" Para ilustrar el problema, el código para modificaciones estéticas se omite en el siguiente código. Utilice tablas y otras técnicas para embellecer la presentación de las preguntas de la encuesta. ¿Para hacer que Ti cambiara el dragón? ¿Los arces de Lai Ta agitaron su rastrillo y aprovecharon el Gui? ¿La cinta estaba floja?
índicedeinvestigación.html:
<html>
<title>Prueba del comité de encuesta</title>
<cabeza>
< !-- inicio: Definir una nueva ventana-- >
<lenguaje de escritura=javascript>
< !--
var nueva ventana = nulo
funciónAbrirVentana(htmurl)
{
if (! nuevaVentana || nuevaVentana.cerrada)
{
nuevaVentana =
window.open(htmurl,"newwin","toolbar=no,resiza =no,scrollbars=no,width=400,height=280");
}demás
{
nuevaVentana.focus();
}
}
//-- >
</ /guión >
<!-- end: Definir la ventana recién abierta-->
</ /cabeza >
<cuerpo>
< !-- inicio: preguntas de la encuesta, opciones -->
< p >¿Qué crees que es lo más importante en el siglo XXI? < /p >
< método de formulario = "POST" acción = "voto/select.asp" nombre = "investigación" IDIOMA = "javascript"
onSubmit="OpenWindow()" target="newwin" >
< p align="izquierda" >
< br >
< input type="radio" value="1" name="Options" >Conocimiento (el conocimiento es poder)< br >
< input type="radio" value="2" name="Options" >Cualificaciones académicas (la sociedad académica no tiene fin)< br >
< input type="radio" value="3" name="Opciones" >Dinero (la economía es la base)< br >
< input type="radio" value="4" name="Options" >Amor (amor que nunca entrará en la tumba)< br >
< input type="radio" value="5" name="Options" >Ideal (Dios mío, ¿qué es un ideal?)< br >
< input type="radio" value="6" name="Options" >Conciencia democrática (preocupación por la política)< br >
< input type="radio" value="7" name="Opciones" >Pensamiento Científico (rejuvenecer el país a través de la ciencia y la educación)< br >
< tipo de entrada="enviar" valor="enviar" nombre="votación" >
< tipo de entrada="botón" valor="Ver" nombre="visualización" onClick="OpenWindow(vote/viewresult.asp)" >
< /formulario>
< !-- inicio: preguntas de la encuesta, opciones -->
< /cuerpo >
< /html >
2. Procesamiento de la selección de usuarios (select.asp)
Con base en las opciones de la encuesta anteriores, creamos el diseño de la base de datos researchdb.mdb (tomando Access como ejemplo) que registra los votos de la encuesta. El nombre de la tabla es: investigación. Si su base de datos y tablas no se guardan con los nombres anteriores, no olvide modificarlas en consecuencia en procedimientos y operaciones posteriores.
Investigación de tablas que almacena números de votos de encuestas:
nombre de campo tipo de datos valor predeterminado
identificación automática número 1
seleccione1 número 0
seleccione2 número 0
seleccione3 número 0
seleccione4 número 0
seleccione5 número 0
seleccione6 número 0
select7 número 0
Después de construir la base de datos, creemos una fuente de datos en el servidor. Primero, ejecute "ODBC" en el "Panel de control", seleccione "DSN del sistema", presione el botón "Agregar", seleccione "Controlador de Microsoft Access", presione el botón "Finalizar" después de la selección y luego haga clic en "Fuente de datos" en la configuración de ODBC. Ingrese el nombre de la base de datos en el cuadro de entrada "Nombre", en este caso researchdb, luego presione el botón "Seleccionar" para seleccionar el archivo de la base de datos (no dirá que olvidó dónde está la base de datos que acaba de diseñar). existe) y presione "Aceptar" después de seleccionarlo. Puede ver la fuente de datos recién creada researchdb. De esta forma podemos llamarlo en ASP.
select.asp:
< %
La siguiente declaración if es para determinar si el usuario ha realizado una selección verificando si lo seleccionado está vacío.
si request.form("opciones") < >Vacío entonces
% >
< %
La siguiente declaración if compara los valores de las dos colecciones (ServerVariables y Cookies) de la Solicitud para evitar que el usuario presione continuamente enviar y afecte los resultados de la investigación.
si no es Request.ServerVariables("REMOTE_ADDR")=request.cookies("IPAddress") entonces
Escriba la información de IP del cliente visitante en Cookies
respuesta.cookies("IPAddress")=Request.ServerVariables("REMOTE_ADDR")
%>
<%
Establezca un objeto Conexión y abra la base de datos que registra los resultados de la encuesta.
establecer conexión=server.createobject("ADODB.CONNECTION")
conexión.abrir "researchdb"
% >
< %
Definir variables
atenuar
dimsql
tenue seleccionado
seleccionado=solicitud.formulario("opciones")
Cree un objeto Recordset, abra el objeto usando el método Open y modifique los datos correspondientes al mismo tiempo.
establecer rs=servidor.createobject("adodb.recordset")
Modificar los datos en la investigación de la tabla de datos, es decir, aumentar el número de votos correspondiente en 1
sql="actualizar conjunto de investigación select"&selected&"=select"&selected&"+1 donde id=1"
rs.open sql, conexión, 3,3
Borrar el objeto de colección de registros de la memoria
establecer rs = nada
estrecha conexión
con.cerrar
Borrar objeto de conexión de la memoria
establecer conexión = nada
Conéctese a la página para explorar los resultados de la encuesta
respuesta.redirect "viewresult.asp"
demás
Response.write "Recordatorio de fracaso en la votación: acaba de votar, ¡gracias por su apoyo!"
terminar si
demás
Response.write "Aviso de error en la votación: ¡Olvidaste seleccionar!"
terminar si
% >
3. Examinar los resultados de la encuesta (viewresult.asp)
En este ejemplo, se utiliza un gráfico de barras para mostrar visualmente los resultados de la encuesta. El método consiste en multiplicar el valor porcentual del número de votos de la opción por el número total de votos. por 5, y el valor resultante se usa como una barra El ancho de la visualización bar.gif (puede usar herramientas de imágenes comunes para crear un pequeño gráfico de barras de degradado o descargar uno en línea). Para dar el porcentaje de votos con dos decimales, en el programa se utiliza la función de redondeo Round en VBScript. En aras de la belleza, los resultados de la encuesta se muestran en una tabla, como se muestra en la figura. El diseño de la tabla se ha omitido en el código que figura a continuación.
verresultado.asp
<%
establecer conexión=server.createobject("ADODB.CONNECTION")
conexión.abrir "researchdb"
%>
<%
atenuar
dimsql
selección tenue1
selección tenue2
selección tenue3
selección tenue4
selección tenue5
selección tenue6
selección tenue7
total oscuro
establecer rs=servidor.createobject("adodb.recordset")
sql="seleccione * de la investigación donde id=1"
rs.open sql, conexión, 1,1
total=rs("seleccionar1")+rs("seleccionar2")+rs("seleccionar3")+
_ rs("seleccionar4")+rs("seleccionar5")+rs("seleccionar6")+rs("seleccionar7")
Determine si el número total de votos es 0 y asegúrese de que la siguiente división sea válida
si total > 0 entonces
seleccionar1=(rs("seleccionar1")/total)*100
seleccionar2=(rs("seleccionar2")/total)*100
seleccionar3=(rs("seleccionar3")/total)*100
seleccionar4=(rs("seleccionar4")/total)*100
seleccionar5=(rs("seleccionar5")/total)*100
seleccionar6=(rs("seleccionar6")/total)*100
seleccionar7=(rs("seleccionar7")/total)*100
%>
< p >Gracias por su participación. A continuación se muestran los resultados actuales de la encuesta.
<p>
◇Conocimiento:
< img src=bar.gif ancho=< %=int(select1*5)% > alto=4 >
< %=rs("select1")% >Período: < %=round(select1,2)% >%< br >
◇Educación:
< img src=bar.gif ancho=< %=int(select2*5)% > alto=4 >
< %=rs("select2")% >Período: < %=round(select2,2)% >%< br >
◇Dinero:
< img src=bar.gif ancho=< %=int(select3)*5% > alto=4 >
< %=rs("select3")% >Período: < %=round(select3,2)% >%< br >
◇Amor:
< img src=bar.gif ancho=< %=int(select4)*5% > alto=4 >
< %=rs("select4")% >Período: < %=round(select4,2)% >%< br >
◇Ideal:
< img src=bar.gif ancho=< %=int(select5)*5% > alto=4 >
< %=rs("select5")% >Período: < %=round(select5,2)% >%< br >
◇Conciencia democrática:
< img src=bar.gif ancho=< %=int(select6)%*5 > alto=4 >
< %=rs("select6")% >Período: < %=round(select6,2)% >%< br >
◇Pensamiento científico:
< img src=bar.gif ancho=< %=int(select7)%*5 > alto=4 >
< %=rs("select7")% >Personas: < %=round(select7,2)% >%</p >
< p align="center" >Ya: < %=total% > personas participaron en la encuesta < br >< br >
【< a href="javascript:window.close()" >Cerrar ventana</a>】</p>
<p>
<%
demás
Response.write "Nadie ha participado en la encuesta todavía"
terminar si
rs.cerrar
establecer rs = nada
con.cerrar
establecer conexión = nada
%>
Nota:
Los códigos anteriores se depuraron en Windows NT4.0 chino (paquete 6)/IIS4.0.
ASP se puede ejecutar en cualquiera de los siguientes entornos:
1. Windows NT Server 4.0/IIS3.0 o superior 2. Windows NT WorkStation 4.0/Microsoft Peer Web Service 3.0 o superior 3. Windows 95/98/Microsoft Personal Web Server 1.0a o superior