cómo hacer encuestas con php y my sql

10
Aplicaciones de Internet www.CarlosBacalla.com Ing. Carlos Bacalla Página 1 de 10 SISTEMA DE ENCUESTAS CON PHP Y MYSQL Objetivo: Trabajar con MySQL, Base Datos y Tablas Trabajar con Librería de Conexión, INCLUDE Generar un grafico de columnas con Codigo PHP I. CREAR LA BASE DE DATOS: SistemaEncuesta Vamos a crear encuestas para nuestro sitio web. Para ello crearemos dos sencillas tablas en MySQL, una para controlar las encuestas propiamente dichas y otra para las respuestas de cada encuesta. Tabla de encuestas: CREATE TABLE encuestas ( id INT not null AUTO_INCREMENT, titulo VARCHAR (100) not null , fecha INT(10) not null , PRIMARY KEY (id)); Id: Es el identificador de la encuesta. Se incrementa automáticamente y sirve de clave primaria. Titulo: Tendremos 50 caracteres para asignar un titulo que contendrá la pregunta en sí. Fecha: Servirá tanto para conocer la fecha de la encuesta, como para que sólo se muestre la última. Tabla de respuestas: CREATE TABLE respuestas ( id INT not null AUTO_INCREMENT, texto VARCHAR (50) not null , votos INT (5) not null , idenc INT not null, PRIMARY KEY (id)); Id: Identificador de la respuesta. Se incrementa automáticamente y sirve de clave primaria. Texto: Es el texto que describirá la respuesta Votos: El total de votos acumulados. Idenc: Referencia al Id de la encuesta a la que está asociado.

Upload: layarme-ticliahuanca-lizana

Post on 25-Jul-2015

1.667 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cómo hacer encuestas con php y my sql

Aplicaciones de Internet www.CarlosBacalla.com

Ing. Carlos Bacalla Página 1 de 10

SISTEMA DE ENCUESTAS CON PHP Y MYSQL

Objetivo: Trabajar con MySQL, Base Datos y Tablas Trabajar con Librería de Conexión, INCLUDE Generar un grafico de columnas con Codigo PHP

I. CREAR LA BASE DE DATOS: SistemaEncuesta

Vamos a crear encuestas para nuestro sitio web. Para ello crearemos dos sencillas tablas en MySQL, una para controlar las encuestas propiamente dichas y otra para las respuestas de cada encuesta. Tabla de encuestas: CREATE TABLE encuestas ( id INT not null AUTO_INCREMENT, titulo VARCHAR (100) not null , fecha INT(10) not null , PRIMARY KEY (id));

• Id: Es el identificador de la encuesta. Se incrementa automáticamente y sirve de clave primaria. • Titulo: Tendremos 50 caracteres para asignar un titulo que contendrá la pregunta en sí. • Fecha: Servirá tanto para conocer la fecha de la encuesta, como para que sólo se muestre la

última.

Tabla de respuestas: CREATE TABLE respuestas ( id INT not null AUTO_INCREMENT, texto VARCHAR (50) not null , votos INT (5) not null , idenc INT not null, PRIMARY KEY (id));

• Id: Identificador de la respuesta. Se incrementa automáticamente y sirve de clave primaria. • Texto: Es el texto que describirá la respuesta • Votos: El total de votos acumulados. • Idenc: Referencia al Id de la encuesta a la que está asociado.

Page 2: Cómo hacer encuestas con php y my sql

Aplicaciones de Internet www.CarlosBacalla.com

Ing. Carlos Bacalla Página 2 de 10

II. CREAR LA LIBRERÍA DE CONEXIÓN A LA BASE DATOS ARCHIVO: CONEXIÓN.PHP

III. DAR DE ALTA UNA NUEVA ENCUESTA La forma de crear una nueva encuesta será sencilla; Un formulario nos pregunta el texto de la pregunta y el número total de respuestas. Damos a "Enviar". Acto seguido tendremos un campo de texto por cada respuesta, donde asignaremos el texto de la respuesta. Volvemos a dar a "Aceptar" y si todo ha ido bien, nuestra encuesta ya estará dada de alta en nuestra base de datos. Primer formulario: encuestas ARCHIVO: ENCUESTA.PHP

Page 3: Cómo hacer encuestas con php y my sql

Aplicaciones de Internet www.CarlosBacalla.com

Ing. Carlos Bacalla Página 3 de 10

Segundo formulario, dentro de preguntas.php Básicamente lo único que hacemos en este formulario es poner tantos campos de texto como posibles respuestas haya. ARCHIVO: PREGUNTAS.PHP

Page 4: Cómo hacer encuestas con php y my sql

Aplicaciones de Internet www.CarlosBacalla.com

Ing. Carlos Bacalla Página 4 de 10

El siguiente fichero (proceso.php) es el que se encarga de guardar los cambios en la base de datos. En un primero momento, guardamos tan solo la encuesta, con sus campos 'fecha' y 'titulo'. Posteriormente sacamos el 'id' asignado a nuestra encuesta (la última almacenada) para que al insertar las respuestas podamos hacer referencia al id de la encuesta a la que va asociada. ARCHIVO: PROCESO.PHP

Page 5: Cómo hacer encuestas con php y my sql

Aplicaciones de Internet www.CarlosBacalla.com

Ing. Carlos Bacalla Página 5 de 10

IV. VOTAR LOS RESULTADOS

Tal y como yo he planteado este sistema de encuestas, la única que se mostrará será la que tenga la fecha más reciente, es decir, la última encuesta insertada. Cualquier modificación para evitar este funcionamiento no creo que os suponga mucho esfuerzo. A continuación tenéis el código del formulario para votar la opción que deseada. ARCHIVO: OPCIONES.PHP

Page 6: Cómo hacer encuestas con php y my sql

Aplicaciones de Internet www.CarlosBacalla.com

Ing. Carlos Bacalla Página 6 de 10

El código que viene a continuación, votacion.php, de momento sólo añade el voto a la base de datos. Más adelante pondremos en éste mismo fichero el código que añade la imagen con el gráfico de barras: ARCHIVO: VOTACION.PHP

Page 7: Cómo hacer encuestas con php y my sql

Aplicaciones de Internet www.CarlosBacalla.com

Ing. Carlos Bacalla Página 7 de 10

V. MOSTRAR EL GRÁFICO DE BARRAS

Para realizar esto lo que haremos es crearnos un fichero que conectará con la base de datos y extraerá la información necesaria. Crearemos una imagen, y le daremos formato con funciones de la librería gd. Quizás a muchos de vosotros os surja la duda, tal y como me ocurrió a mí, de como poner en funcionamiento esta librería: Tenéis que bajaros (en caso de estar en Windows) el archivo php_gd.dll, copiarlo a la carpeta extensions de php y descomentar la línea donde se hace referencia a la DLL en cuestión en el php.ini. El código, aunque a alguno a primera vista os intimide, realmente no tiene complicación alguna, tan solo leemos de la base de datos y dibujamos los elementos de nuestro gráfico de barras: NOTA: Éste fichero ha de conectar con la base de datos. Para que funcione correctamente, tenéis que añadir que incluya conexion.php directamente vosotros en el sitio que corresponda. Dicho queda. Ya lo tenemos todo hecho, tan sólo nos falta incluir un pequeño detalle a nuestro código. En el archivo que capta los votos (votar.php) tenéis que añadir el siguiente código: <img src="votar.php"> Y os coloco una imagen del resultado final de una encuesta cualquiera: ARCHIVO: VOTAR.PHP

Page 8: Cómo hacer encuestas con php y my sql

Aplicaciones de Internet www.CarlosBacalla.com

Ing. Carlos Bacalla Página 8 de 10

Page 9: Cómo hacer encuestas con php y my sql

Aplicaciones de Internet www.CarlosBacalla.com

Ing. Carlos Bacalla Página 9 de 10

VI . PRESENTACIÓN DEL SISTEMA DE ENCUESTA ARCHIVO: INDEX.PHP

Page 10: Cómo hacer encuestas con php y my sql

Aplicaciones de Internet www.CarlosBacalla.com

Ing. Carlos Bacalla Página 10 de 10

FUENTE ORIGINAL: http://www.programacion.com/php/articulo/encuestas_gd/ Cómo hacer encuestas con PHP y MySQL Autor: Jesus Ruiz-Ayúcar Vázquez EDITADO POR: Ing. Carlos Bacalla www.CarlosBacalla.com