Post recomendado

Atrapa a tu publico en 10 segundos

  O impresionas o tus visitantes se desvanecerán… No te equivoques al respecto. No importa si tienes un gran arsenal de técnicas de promoción, si no impresionas y atraes a tus visitantes en 10 segundos o menos, los más probable es que los pierdas con tus competidores. El tráfico masivo es inútil...

Leer mas.

Encuestas simples con PHP y MySQL

Autor Kalvin Manson | Categoria Tutoriales, Webmasters | Fecha 23-09-2009

4

Este tutorial nace a raiz de una pregunta del foro:

Primeor que todo debemos saber manejar PHP basico para poder hacer este script. aunque pueden simplemente copiar el codigo jejeje.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.

via: Nachox

Comentarios (4)

el primer codigo de la pagina form.php me manda error
Warning: include(conexion.php) [function.include]: failed to open stream: No such file or directory in D:\AppServ\www\encuesta\form.php on line 8

Warning: include() [function.include]: Failed opening ‘conexion.php’ for inclusion (include_path=’.;C:\php5\pear’) in D:\AppServ\www\encuesta\form.php on line 8

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\encuesta\form.php on line 12

Warning: include(conexion.php) [function.include]: failed to open stream: No such file or directory in D:\AppServ\www\encuesta\form.php on line 8

Warning: include() [function.include]: Failed opening ‘conexion.php’ for inclusion (include_path=’.;C:\php5\pear’) in D:\AppServ\www\encuesta\form.php on line 8

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\encuesta\form.php on line 12

para Nagera :
Necesitas el archivo conexion.php por eso te sale el errorsera algo asi:

<?php
$servidor = "localhost";
$usuario = "root";
$clave = "";
$nombre_basedatos= "3gmotors";
$con_db = @mysql_connect($servidor, $usuario, $clave)or die("Ocurrio un error al conectarse al servidor de base de datos, verifica los datos de configuracion en el archivo conexion.php “);
@mysql_select_db($nombre_basedatos,$con_db) or die(“Ocurrio un error al seleccionar la base de datos”);

$fecha_hoy=date(“Y-m-d”);

?>

Ola ! ! !
Mi recomendacion NAGERA si no todavia te marca error es que los montes en servidores wep(Wanserver,XXMAP,etc)utiliza procesadores texto de la plataforma html(Dreamweaver) a si sera mejer tu desempeño Espero que te sirva
Saludos ! !

Escribe un comentario

Anuncie aqui