¿Supiste lo que acaba de lanzar LagriHost? Sí, como lo estabas esperando, ahora vendemos Web Hosting y Dominios. Conoce más :)


Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
TUTORIAL Crear un sistema de encuesta [Part 1/2]
#1
0
En este tutorial aprenderás 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.

Estilos
Código:
   .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;
   }
   .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;
           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{
           float: left;
           margin-left: 10px;
           margin-top: 7px;
           color: black;
   }

Ahora vamos a crear la base de datos donde se guardará la información como respuestas, preguntas, etc

Creamos una tala con el nombre encuestas con los siguientes campos: id, titulo y fecha.

Aquí se almacenara los datos las encuestas como el titulo y la fecha que fue creada la encuestas.
Código PHP:
   CREATE TABLE IF NOT EXISTS `encuestas` (
 
     `idint(11NOT NULL AUTO_INCREMENT,
 
     `titulovarchar(30NOT NULL,
 
     `fechadate NOT NULL,
 
     PRIMARY KEY (`id`)
 
   ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=;

Y le insertaremos una pregunta con este SQL para agregar 1 pregunta.
Código MySQL.

 
   INSERT INTO `encuestas` (`id`, `titulo`, `fecha`) VALUES
    
(1'¿Que te pareció el tutorial?''2014-10-11');

Utilizaremos otra tabla para que almacene las opciones de las encuestas.
Código SQL.

 
   CREATE TABLE IF NOT EXISTS `opciones` (
 
     `idINT(11NOT NULL AUTO_INCREMENT,
 
     `id_encuestaINT(11NOT NULL,
 
     `nombreVARCHAR(50NOT NULL,
 
     `valorINT(11NOT NULL,
 
     PRIMARY KEY (`id`)
 
   ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=;


Después insertaremos datos a la tabla opciones que acabamos de crear.
Código MySQL.

 
   INSERT INTO  `opciones` (`id` ,`id_encuesta` ,`nombre` ,`valor`)
 
   VALUES (NULL  '1' 'Muy Bueno' '14')
 
   , (NULL  '1' 'Bueno' '6')
 
   , (NULL  '1' 'Malo' '2'); 
Fíjate que he definido id_encuesta con 1 y es porque quiero que estas opciones estén relacionadas con la encuestas que creamos anteriormente que llevaba el id de 1.

Ahora pasaremos a crear la conexión a la base de datos.
Crearemos un archivo llamado: conexion.php

El tipico fichero PHP para guardar los datos de la conexión, nada del otro mundo:
Código PHP:
   <?php // datos para la conexion a mysql
 
   define('DB_SERVER','localhost');
 
   define('DB_NAME','TU BASE DE DATOS');
 
   define('DB_USER','TU USUARIO');
 
   define('DB_PASS','TU CLAVE');
 
    
    $conex 
mysql_connect (DB_SERVER,DB_USER,DB_PASS);
 
   mysql_select_db(DB_NAME,$conex);
 
   ?>



Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  Tutorial Como hacer chat con el símbolo del sistema (CMD) Diringax 0 3,000 10-07-2017, 06:07 PM
Último mensaje: Diringax
  Crear un PopUp torgar22 0 1,998 18-06-2015, 01:00 PM
Último mensaje: torgar22
  Crear un link para download torgar22 0 1,961 18-06-2015, 12:49 PM
Último mensaje: torgar22
  Crear un Título que cambia de colores torgar22 0 2,222 18-06-2015, 12:36 PM
Último mensaje: torgar22
  Crear un Formulario o Libro de Visitas torgar22 0 2,694 18-06-2015, 12:27 PM
Último mensaje: torgar22



Usuarios navegando en este tema:
1 invitado(s)


Forum software by © MyBB Theme © Kevinex & iAndrew 2018