Encuesta con PHP y MySQL
Sencilla encuesta utilizando MySQL para almacenar las votaciones de los usuarios con la opción de votar una o varias veces.
Primero debemos de crear la tabla donde almacenaremos las encuestas y sus respuestas.
-
CREATE TABLE `encuestas` (
-
`id_encuesta` VARCHAR(5) NOT NULL DEFAULT '',
-
`pregunta` VARCHAR(150) DEFAULT NULL,
-
`opciones` VARCHAR(254) DEFAULT NULL,
-
`id_opcion` VARCHAR(5) NOT NULL DEFAULT '',
-
`ip` VARCHAR(15) NOT NULL DEFAULT '',
-
`fecha` DATE DEFAULT NULL
-
) ;
Ahora debemos de crear un archivo de texto e ingresar el siguiente código.
-
<?php
-
/*
-
Funcion para elaborar Encuestas
-
www.empresario.com.mx
-
*/
-
function show_encuesta($id_ENCUESTA,$proteccion_IP,$pregunta,$opciones){
-
// Colocamos las preguntas y opciones
-
$opciones_para_grabar='';
-
foreach($opciones as $key => $value){
-
$opciones_para_grabar.=" ".$key ."=". $value .", ";
-
}
-
-
//
-
if (!array_key_exists($id_ENCUESTA,$encuesta)) return ('El id de la encuesta no se encuentra disponible');
-
else
-
{
-
$ip=$_SERVER['REMOTE_ADDR'];
-
-
/*
-
Validamos el voto por ip y fecha de hoy.
-
Aquí se puede hacer la modificación en caso
-
de que el participante no pueda votar mas de una vez por dia.
-
*/
-
-
$html_encuesta='<font color="#FF0000" face="tahoma" size="2">Usted ya había votado. Gracias</font>';
-
}else{
-
$ip=$_SERVER['REMOTE_ADDR'];
-
$html_encuesta='<font color="#FF0000" face="tahoma" size="2">Gracias por su voto</font>';
-
('.$id_ENCUESTA.',"'.$pregunta.'","'.$opciones_para_grabar.'",'.$_POST[opcion].',"'.$ip.'","'.$fecha_votacion.'")')or die(mysql_error());
-
}
-
}
-
-
$ssql=mysql_query('SELECT * FROM encuestas WHERE id_encuesta="'.$id_ENCUESTA.'"')or die(mysql_error());
-
-
// mostramos los resultados.
-
$html_encuesta.='<a name="encuesta" id="encuesta"></a><form action="'.$_SERVER[REQUEST_URI].'#encuesta" method="POST">';
-
$html_encuesta.= '<b style="color:#055A91">'.$pregunta_de_la_encuesta.'</b>';
-
///
-
$html_encuesta.='<br /><br />';
-
$votos_total=0;
-
foreach($opciones_de_la_encuesta as $KEY => $OPCION)
-
{
-
$ssql=mysql_query('SELECT * FROM encuestas WHERE id_encuesta="'.$id_ENCUESTA.'" and id_opcion="'.$KEY.'"')or die(mysql_error());
-
$votos_total+=$votos_x_opcion;
-
$html_encuesta.= '<input name="opcion" type="radio" value="'.$KEY.'"';
-
$html_encuesta.= '>'.$OPCION.' '.$estimar_porcentaje.'% <br /><strong>Votos: '.$votos_x_opcion.'</strong>
-
<hr align="left" color="#055A91" align="left" size=2 width='. $estimar_porcentaje . '>';
-
}
-
$html_encuesta.='<br /><input type="submit" value="Votar">';
-
$html_encuesta.='</form>';
-
return '<b>'.$votos_total.'</b> votos hasta hoy<br />'.$html_encuesta;
-
}
-
?>
Ahora necesitas colocar el siguiente codigo donde quieras que se muestre la encuesta y sus resultados
-
<?php
-
/*
-
Funcion para elaborar Encuestas
-
www.empresario.com.mx
-
*/
-
// Configuramos la conexión
-
-
// Configura tu pregunta
-
$pregunta="¿Ya ingresaste tu comentario ?";
-
-
//Las opciones de la pregunta
-
0=>"Primer Respuesta",
-
1=>"Segunda Respuesta",
-
2=>"tercer Respuesta"
-
);
-
-
// Cambia a true si quieres que solamente vote una vez
-
$votar_una_vez=false;
-
$id_asignado=1; //el id que correspondera a la pregunta en la base de datos para las votaciones
-
-
include('encuesta.php');
-
echo $consulta_desde;
-
?>

Bien bien Muchas gracias Exelente aporte 1 Abrazo