Como Hacer Un Sistema de Encuestas Con PHP y MySQL _ WebTursos

27/4/2015 Como hacer un Sistema de encuestas con PHP y MySQL |  WebTursos Como Hacer un Sistema de Encuestas con PHP y

Views 44 Downloads 0 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

27/4/2015

Como hacer un Sistema de encuestas con PHP y MySQL |  WebTursos

Como Hacer un Sistema de Encuestas con PHP y MySQL Por Edwind Pineda ὕ diciembre 21, 2012

 MySQL, PHP

 64 Comentarios

PUBLICIDAD

 DEMO

⬇ DESCARGAR

En este tutorial aprenderas a hacer un sistema de encuestas funcional, práctico y expandible, usaremos PHP y MySQL con tablas relacionales. Trabajaremos con 4 ficheros PHP, uno para la conexión a la base de datos (conexion.php), uno para listar las encuestas (index.php), otro para crear nuevas encuestas (agregar.php), el que mostrara los resultados de las encuestas (resultado.php) y por ultimo estilos.css que se encargara de darle algo de estetica pero tambien de una parte muy esencial que es la de mostrar la barra de votaciones. Si en ciertas partes el código te resulta muy complejo, lee los comentarios.

0. estilos.css .barra{ http://web.tursos.com/como­hacer­un­sistema­de­encuestas­con­php­y­mysql/

1/21

27/4/2015

Como hacer un Sistema de encuestas con PHP y MySQL |  WebTursos

.barra{   background: #ff3019;  

background: ‐moz‐linear‐gradient(top, #ff3019 0%, #cf0404 100%);

     

background: ‐webkit‐linear‐gradient(top, #ff3019 0%,#cf0404 100%); background: linear‐gradient(to bottom, #ff3019 0%,#cf0404 100%); clear: both;

     

height: 15px; color: white; font‐weight: bold;

       

text‐align: right; padding: 6px; border‐radius: 4px; max‐width: 356px;

  }

min‐width: 20px;

/* A partir de aqui es solo cosmetico, lo puedes borrar */ *{  

margin: 0;

 

padding: 0;

   

font‐family: sans‐serif; font‐size: 14px;

} body{   background: #464646; } a{  

text‐decoration: none;

 

color: red;

} .fr{  

float: right;

} .fl, .votar{  

float: left;

} .cf{  

clear: both;

http://web.tursos.com/como­hacer­un­sistema­de­encuestas­con­php­y­mysql/

2/21

27/4/2015

  }

clear: both;

Como hacer un Sistema de encuestas con PHP y MySQL |  WebTursos

.wrap{   padding: 25px;  

margin: 0 auto;

   

width: 385px; background: #F3F3F3;

 

border‐radius: 4px;

   

margin‐top: 70px; border: 1px solid #E0E0E0;

} h1{   margin‐bottom: 20px;  

font‐size: 21px;

   

border‐bottom: 1px solid #DDD; padding‐bottom: 15px;

 

text‐align: center;

} form > div{  

margin‐bottom: 20px;

} form .titulo{   }

margin‐right: 20px;

form label{   }

display: block;

form input[type='text'], select{    

border: 1px solid #E0E0E0; padding: 6px;

  }

resize: none;

form input[type="submit"]{ padding: 8px 16px;

☰       

background: gray; border: 0; display: block;

   

font‐weight: bold; color: white;

http://web.tursos.com/como­hacer­un­sistema­de­encuestas­con­php­y­mysql/



3/21

27/4/2015

   

Como hacer un Sistema de encuestas con PHP y MySQL |  WebTursos

color: white; border‐radius: 6px;

} form input[type="submit"]:hover{   background: #505050; } ul.votacion{   margin‐bottom: 25px;   list‐style: none; } .votacion li{   padding: 8px;      

background: #FCFCFC; border‐radius: 5px; margin‐bottom: 5px;

} .votacion li:hover{   background: white; } .votacion li a{   color: gray;     }

font‐weight: bold; font‐size: 16px;

.votacion li a:hover{   color: black; } .votacion li span{   margin‐left: 10px; } .votacion .fl{   margin‐bottom: 5px; } .volver{      

display: block; padding‐top: 15px; clear: both;

} .resultado{

http://web.tursos.com/como­hacer­un­sistema­de­encuestas­con­php­y­mysql/

4/21

27/4/2015

.resultado{   float: left;

Como hacer un Sistema de encuestas con PHP y MySQL |  WebTursos

   

margin‐left: 10px; margin‐top: 7px;

  }

color: black;

1. SQL Creamos una tala con el nombre encuestas con los siguientes campos: id, titulo y fecha. Aqui se almacenara los datos las encuestas como el titulo y la fecha que fue creada la encuestas, utilizaremos otra tabla para que almacene las opciones de las encuestas. CREATE TABLE IF NOT EXISTS `encuestas` ( `id` int(11) NOT NULL AUTO_INCREMENT, `titulo` varchar(50) NOT NULL, `fecha` date NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; Ahora insertarmos unos datos de ejemplo en la tabla: INSERT INTO `encuestas` (`id`, `titulo`, `fecha`) VALUES (NULL ,  'Que os parecen los tutoriales de PHP?', '2012‐12‐15'); Creamos otra tabla con el nombre opciones con los siguientes campos: id, id_encuesta, nombre y valor. El campo de id_encuesta tendrá relación con el campo id de la tabla encuestas, en nombre ira el nombre y valor guardara el numero de votos que tendra la opcion respectiva. CREATE TABLE IF NOT EXISTS `opciones` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `id_encuesta` int(11) NOT NULL,   `nombre` varchar(50) NOT NULL, http://web.tursos.com/como­hacer­un­sistema­de­encuestas­con­php­y­mysql/

5/21

27/4/2015

Como hacer un Sistema de encuestas con PHP y MySQL |  WebTursos

  `valor` int(11) NOT NULL,   PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; Insertamos datos a la tabla opciones: INSERT INTO  `opciones` (`id` ,`id_encuesta` ,`nombre` ,`valor`) VALUES (NULL ,  '1',  'Muy Bueno',  '14') , (NULL ,  '1',  'Bueno',  '6') , (NULL ,  '1',  'Malo',  '2'); PUBLICIDAD

Fijaos que he definido id_encuesta con 1 y es porque quiero que estas opciones esten relacionadas con la encuestas que creamos anteriormente que llevaba el id de 1. Si no entendisteis bien como vamos a trabajar las relaciones de las tablas, esta grafica te aclarará las dudas:

http://web.tursos.com/como­hacer­un­sistema­de­encuestas­con­php­y­mysql/

6/21

27/4/2015

Como hacer un Sistema de encuestas con PHP y MySQL |  WebTursos

02. conexion.php El tipico fichero PHP para guardar los datos de la conexión, nada del otro mundo:



 

  Sistema de encuestas  

           Encuestas      

   

+ Agregar nueva encuesta

 



Nos debería ir quedando así:

http://web.tursos.com/como­hacer­un­sistema­de­encuestas­con­php­y­mysql/

8/21

27/4/2015

Como hacer un Sistema de encuestas con PHP y MySQL |  WebTursos

04. encuesta.php Linea 04: Si no existe la variable de URL se regresara a la pagina principal. Linea 11: Si le dan a votar (el form de votacion ira abajo) y si han seleccionado una opcion se va a actualizar los datos del campo ‘valor’ de la tabla ‘opciones’: 1

 ​

  }

}

$opciones = $_POST['valor']; $mod = mysql_query("SELECT * FROM opciones WHERE id = " while($result = mysql_fetch_object($mod)){   $valor = $result‐>valor + 1; // obtenemos el valor de 'v   mysql_query("UPDATE opciones SET valor =  '".$valor } header('location: resultado.php?id='.$id); // Por ultimo lo 

Ahora la parte HTML donde ira el form de votacion, aqui vamos a generar una consulta a la base datos para que se muestren los datos de la tabla ‘encuestas’ con relación a la tabla ‘opciones’ como radiobuttons, partes de un form: Linea 15: En esta linea haremos un query con INNER JOIN en el cual trabajaremos con las tablas ‘encuestas’ y ‘opciones’ donde a sera encuestas y b es opciones, aqui buscaremos filas donde a.id sea igual a b.encuesta_id, el valor de a.id que se comparara sera definido por $id, este valor lo obtuvimos al principio en el primer pedazo de código mediante GET. Linea 18 y 27: Con el resultado del query hacemos un while donde mostraremos el titulo de la encuesta y luego en la linea 48 se muestran cada una de las opciones como input[type='radio'], $aux es una variable auxiliar que nos ayuda a detener el bucle para que ciertos elementos se muestren solo una vez. PUBLICIDAD

http://web.tursos.com/como­hacer­un­sistema­de­encuestas­con­php­y­mysql/

10/21

27/4/2015

Como hacer un Sistema de encuestas con PHP y MySQL |  WebTursos

1 2 3 4 5 6 7 8 9 10 11 12 13 14  ​ 15 16 17  ​ 18 19

 ​



 

  Sistema de encuestas  







Si todo salió bien, encuesta.php deberia verse asi:

http://web.tursos.com/como­hacer­un­sistema­de­encuestas­con­php­y­mysql/

12/21

27/4/2015

Como hacer un Sistema de encuestas con PHP y MySQL |  WebTursos

05. resultado.php Esta archivo es mas simple, aqui mostraremos los resultados de las encuestas de acuerdo al id obtenido por GET (resultado.php?id=x): Linea 11: Para obtener el valor usamos SUM() para que nos resulte la suma total del valor en un solo numero: 1