Crear encuestas con PHP & MySQL


En esta ocasión crearemos una encuesta utilizando PHP y MySQL para la recolección de los votos.

Lo primero será crear en la base de datos una tabla llamada encuesta. Usaremos los siguientes campos: id, pregunta, opcion1, opcion2, opcion3.

Esta tabla contendra todas las encuestas, las cuales tendrán solo 3 opciones:

CREATE TABLE encuesta (
id bigint(20) NOT NULL auto_increment,
pregunta varchar(255) NOT NULL default ”,
opcion1 int(10) NOT NULL default ‘0′,
opcion2 int(10) NOT NULL default ‘0′,
opcion3 int(10) NOT NULL default ‘0′,
PRIMARY KEY (id)
) TYPE=MyISAM;

Despues de haberla creado, seguiremos creando el formulario. Para ello, creamos una página llamada form.php y le asignamos el siguiente código:

<?php
include(”conexion.php”);
// ‘%$id%’ mostrará los datos de la encuesta según la variable de form.php?id=$id
$sql = “SELECT * FROM encuesta WHERE id LIKE ‘%$id%’”;
$resp = mysql_query($sql);
while ($row = mysql_fetch_array($resp)) {
$pregunta = $row["pregunta"];
}
?>
<html>
<body>
<form name=”voto” method=”post” action=”votar.php?&id=<? echo’$id’; ?>”>
<center>
<table width=”100%” align=”center”>
<tr>
<td colspan=”2″><center>
<?php echo $pregunta; ?>
</center></td>
</tr>
<tr>
<td width=”41%”><div align=”right”>
<input type=”radio” name=”voto” value=”opcion1″>
</div></td>
<td width=”59%”><font size=”2″><strong>Muy sencillo</strong></font></td>
</tr>
<tr>
<td><div align=”right”><font size=”1″ face=”Verdana” color=”#FF0000″>
<input type=”radio” name=”voto” value=”opcion2″>
</font></div></td>
<td><font size=”2″><strong>Ni sencillo, ni dificil</strong></font></td>
</tr>
<tr>
<td><div align=”right”><font size=”1″ face=”Verdana” color=”#FF0000″>
<input type=”radio” name=”voto” value=”opcion3″>
</font></div></td>
<td><font size=”2″><strong>Mejor descargo un script</strong></font></td>
</tr>
<tr>
<td colspan=”2″><div align=”center”>
<div align=”center”>
<input type=”submit” name=”Submit” value=”Votar” style=”font-family:Verdana; font-size: 8pt; border: 1px solid #5F5F5F; background-color:
#F6F6F6″>
</div>
</div></td>
</tr>
<tr>
<td colspan=”2″><div align=”center”>
<div align=”center”></div>
<font size=”1″ face=”Verdana”></font></div></td>
</tr>
</table>
</center>
</form>
</body>
</html>

Dejo en claro que para mostrar una encuesta, deberías llamar a la página del formulario de la siguiente manera: form.php?id=($id)

Además, tu debes ponerle las respuestas manualmente sin ninguna Base de datos. Estas se llamarán opcion1, opcion2 y opcion3.

Para conseguir la suma de los votos se debe crear la siguiente página, llamada votar.php

<?php
include(”conexion.php”);
$sql = “SELECT * FROM encuesta WHERE id LIKE ‘%$id%’”;
$sumaenc = mysql_query(”select * from encuesta where id like ‘%$id%’”, $conexion);
$updenc=mysql_fetch_array($sumaenc);
$encsum=$updenc["$voto"]+1;
$update=mysql_query(”Update encuesta Set $voto=$encsum Where id=$id”,$conexion);
$resp = mysql_query($sql);
?>
<html>
<body>
Gracias por votar.
</body>
</html>

Y eso es todo. Si te manejas en el ámbito de la programación con PHP, podrás modificarlo todo a tu gusto.

Tags: ,  

Articulos relacionados:

  • Atención usuarios de Linux
  • PHP: include() v/s requiere()
  • PHP: Conexión a una base de datos MySQL
  • Instalar Apache, PHP, MySQL, Filezilla…. todo en uno con Xampp
  • Crear encuestas online con Poll Junkie
  • Comments are closed.