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: Programación, Tutoriales
Articulos relacionados:

