PHP:¿Cómo hacer una encuesta en php?
De Foros del Web
Para hacer una encuesta con sus resultados graficados debes crear un tabla con los siguientes campos (optativos)
1.- Idencuesta: identificador de cada encuesta
2.- pregunta:campo que almacena las pregunta
3.- respuesta1: campo que almacenará la respuesta a tu encuesta
4.- respuesta2:lo mismo que lo anterior esto dependerá de la cantidad de respuesta que tenga tu encuesta (por lo general 3 o 4)
5.- valor1: este campo almacena la cantidad de respuestas a cada respuesta o sea valor1 guardará todos los clic o respuestas que den en respuesta1.
6.- total:almacena el total de la suma de los campos valor1, valor2 o los que tengas
7.-Crea una imagen pequeña de uno 4x9 gif o cualquier formato para que te muestre los resultados graficados
****ENCUESTA:PHP****
<? $servidor = "localhost"; $usuario = ""; $password = ""; $base_de_datos = "encuesta"; $conextar=mysql_connect ($servidor,$usuario,$password); mysql_select_db($base_de_datos); $sqlupdate = "UPDATE encuestas SET valor$voto = valor$voto+1, total = total+1"; mysql_query($sqlupdate,$conextar); $sql = "SELECT * FROM encuestas ORDER BY idencuesta desc LIMIT 1"; $resultados = mysql_query($sql,$conextar); $row = mysql_fetch_array($resultados); ?> <script type="text/javascript" language="JavaScript"> function resultados(){ window.open("resultados.php","","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=320,height=200"); } </script> <form name="form1" method="post" action="<?= $PHP_SELF?>"> <table width="256" border="0" align="center" cellpadding="0" cellspacing="0" class="forumline"> <tr valign="baseline"> <td colspan="2" class="row1"> <?=$row['pregunta']; ?> <br> </td> </tr> <tr> <td width="110"> <?=$row['respuesta1'];?> </td> <td width="146"><input type="radio" name="voto" value="1"> </td> </tr> <tr> <td> <?=$row['respuesta2'];?> </td> <td><input type="radio" name="voto" value="2"></td> </tr> <tr> <td> <?=$row['respuesta3'];?> </td> <td><input type="radio" name="voto" value="3"></td> </tr> <tr align="center"> <td height="20" colspan="2"><input type="submit" class="post"name="Submit" value="Votar" onClick=window.open("resultados.php","","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=320,height=200"); ></td> </tr> </table> <p> </p></form>
****RESULTADOS.PHP***
<html>
<head>
<title>Resultados de la encuesta</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
background-color: #FFFFDD;
}
td {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
}
-->
</style>
</head>
<body>
<?
$servidor = "localhost";
$usuario = "";
$password = "";
$base_de_datos = "encuesta";
$conextar=mysql_connect ($servidor,$usuario,$password);
mysql_select_db($base_de_datos);
//$sqlupdate = "UPDATE encuestas SET valor$voto = valor$voto+1, total = total+1";
//mysql_query($sqlupdate,$conextar);
$sql = "SELECT * FROM encuestas ORDER BY idencuesta desc LIMIT 1";
$resultados = mysql_query($sql,$conextar);
$row = mysql_fetch_array($resultados);
$res1= round ($row['valor1']*100/$row['total'],2);
$res2= round ($row['valor2']*100/$row['total'],2);
$res3= round ($row['valor3']*100/$row['total'],2);
?>
<p>Resultados parciales de la encuesta</p>
<?=$row['pregunta']; ?><br>
<br>
<TABLE WIDTH="300" BORDER="1" ALIGN="center" BORDERCOLOR="#3097A3">
<TR>
<TD WIDTH="100"><?=$row['respuesta1']; ?></TD>
<TD WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor1"]*100/$row["total"]?>%" SRC="encuesta/barra.gif"></TD>
<TD ALIGN="center" WIDTH="70"><? echo $res1."%";?> </TD>
</TR>
<TR>
<TD WIDTH="100" ><?=$row['respuesta2']; ?></TD>
<TD WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor2"]*100/$row["total"]?>%" SRC="encuesta/barra.gif"></TD>
<TD ALIGN="center" WIDTH="70"><? echo $res2."%";?> </TD>
</TR>
<TR>
<TD WIDTH="100"><?=$row['respuesta3']; ?></TD>
<TD WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor3"]*100/$row["total"]?>%" SRC="encuesta/barra.gif"></TD>
<TD ALIGN="center" WIDTH="70"><? echo $res3."%";?> </TD>
</TR>
</TABLE>
<form name="form1" method="post" action="">
<div align="center">
<p>
<input type="submit" name="Submit" value="Cerrar Ventana" onclick="window.close();">
</p>
<p> </p>
</div>
</form>
</body>
</html>
NOTA: .. la llamada a la función javascript window.open( .. parametros) .. Ha de estar en una sola línea y sin espacios entre los parámetros, pese que si hacen un cut-and-paste verán esos saltos de línea y algún espacio por medio.
--vito_gris 27 Nov 2002
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
