Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Página que contabiliza y muestra los resultados de la encuesta


La explicación y el código de la página que recibe el voto de un usuario, lo contabiliza y muestra los resultados parciales de la encuesta hasta ese momento.


29/8/03 - Ahora definimos nuestra pagina de resultados, la cual, lo primero que deberá hacer, es obtener el valor de la variable voto y del identificador de la encuesta que se ha votado.

Para poder actualizar nuestra base de datos con el objetivo de registrar el voto recibido, usaremos una instrucción de este tipo:

UPDATE tblenc SET encval$voto = encval$voto+1, enctot = enctot+1 where encid=$encid

Como podemos observar, utilizamos el valor de la variable voto como parte del nombre del campo a evaluar, incrementamos el mismo e incrementamos el campo total, que es donde se acumulará el número de votos realizados. Para asegurarnos de que se incrementan sólo los votos relacionados con la encuesta actual, con el enunciado where, limitamos la actualización solamente a la encuesta con el identificador recibido del formulario.


Imagen ejemplo de los resultados de una encuesta

Finalmente, nuestra página mostrará el resultado de la encuesta, aquí dimensionaremos el tamaño de las imágenes para mostrar los resultados mediante porcentajes, los cuales serán obtenidos por la división del número de votos de una respuesta multiplicado por cien, entre el número total de votos. Así.

<IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval1"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra1.gif">

Nuestro script quedará de la siguiente manera:

<?
//recibo el voto
$voto = $_POST["voto"];
//recibo el id de la encuesta
$encid = $_POST["encid"];

$servidor="localhost";
$usuario="Administrador";
$password="";
$base="prueba";
$SQLid = mysql_connect($servidor,$usuario,$password);
mysql_select_db($base,$SQLid);
$SQLquery = "UPDATE tblenc SET encval$voto = encval$voto+1, enctot = enctot+1 where encid=$encid";
$SQLresult = mysql_query($SQLquery,$SQLid);
$SQLquery = "SELECT * FROM tblenc where encid=$encid";
$SQLresult = mysql_query($SQLquery,$SQLid);
$SQLrow = mysql_fetch_array($SQLresult);
?>
<P ALIGN="center"><font size="4"><strong><em>RESULTADOS PARCIALES DE LA
ENCUESTA</em></strong></font></P>
<P ALIGN="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<?
echo $SQLrow["encprg"]
?>
</font></strong></P>
<TABLE ALIGN="center" WIDTH="75%" BORDER="0" CELLSPACING="1" CELLPADDING="1">
<!--DWLayoutTable-->
<TR>
<TD ALIGN="left" WIDTH="23%"><? echo $SQLrow["encrpt1"]?>
<div align="left"></div></TD>
<TD><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval1"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra1.gif"></TD>
<TD ALIGN="center" WIDTH="14%"><? echo $SQLrow["encval1"]?> votos</TD>
</TR>
<TR>
<TD ALIGN="left"><? echo $SQLrow["encrpt2"]?>
<div align="left"></div></TD>
<TD><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval2"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra2.gif"></TD>
<TD ALIGN="center"><? echo $SQLrow["encval2"]?> votos</TD>
</TR>
<TR>
<TD ALIGN="left"><? echo $SQLrow["encrpt3"]?>
<div align="left"></div></TD>
<TD><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval3"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra3.gif"></TD>
<TD ALIGN="center"><? echo $SQLrow["encval3"]?> votos</TD>
</TR>
<TR>
<TD ALIGN="left"><? echo $SQLrow["encrpt4"]?>
<div align="left"></div></TD>
<TD><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval4"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra4.gif"></TD>
<TD ALIGN="center"><? echo $SQLrow["encval4"]?> votos</TD>
</TR>
</TABLE>
<P ALIGN="center">Total de votos emitidos: <? echo $SQLrow["enctot"]?></P>


Sólo queda definir la página de administración de la encuesta, la cual deberá contar con un administrador que haga posible la alteración de estos datos, esto se puede hacer con un sistema de autentificación con clave encriptada para dar seguridad, también se puede utilizar cookies y/o sesiones para que un usuario no vote mas de una vez en la página, y otros trucos que pueden ser de gran utilidad para este sistema. Pero ya no son tema de estudio de este manual. Queda al ingenio del desarrollador y a los requerimientos del sistema.

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 14 comentarios no revisados

 Autoría, licencia y acciones sobre este artículo

Informe de Carlos Eduardo Sotelo Pinto*
Pregrado de Ingeniería de Sistemas
URL: http://www.iespana.es/mysqlweb/

Atención: Copyright. Este artículo no se puede reproducir sin la autorización expresa del autor.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Sistema de encuestas PHP y MySQL


 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se han encontrado 14 comentarios sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
Añadir un comentario al artículo Añadir un comentario del artículo



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Sistema de encuestas PHP y MySQL

Lectura recomendada

Compra este libro en Agapea, la librería urgente a domicilio.

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia