Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Sistema de encuesta.

Estas en el tema de Sistema de encuesta. en el foro de Bases de Datos General en Foros del Web. Hola a todos estoy implementando un sistema de encuesta en mi web.. ahora cree una tabla en la base de datos llamada "encuesta" con el ...
  #1 (permalink)  
Antiguo 27/02/2011, 18:34
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Sistema de encuesta.

Hola a todos estoy implementando un sistema de encuesta en mi web.. ahora
cree una tabla en la base de datos llamada "encuesta" con el campo 'id' 'pregunta'

despues en un archivo hice un formulario para crear la pregunta en dnde se agrega a la tabla esa..
ahora .. lo que no se como hacer es con los campos de opciones de dicha pregunta
supongamos que tengo la primer encuesta con campo 'id' = 1 y 'pregunta' = ¿Le gusta este sitio? y quiero que tenga como opcion "si" o "no" (osea que son 2 opciones solamente) y ahora supongamos que tengo la proxima encuesta ,por ejemplo ¿Cual es su lenguaje favorito? opciones "PHP" "Javascript" "Python" "otros"... osea que tiene mas que 2 campos de opciones.. entonces como hago para que en una misma tabla pueda poner distontas encuestas y poder agregarlas y modificarlas a mi gusto en mi propio CMS.. Similar a lo que Jommla hace..

Saludos
  #2 (permalink)  
Antiguo 27/02/2011, 18:49
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Sistema de encuesta.

Pues creo que tienes un error en lo que es el diseño de tu base de datos, si es una encuesta debes de tener solo dos campos preguntas y respuestas de tal manera que puedas contar cuantas respuestas tiene cada una, aunque viendolo bien deberias de tener dos tablas una para las preguntas y otras para las respuestas relacionadas por un id de tal manera que puedas hacer un count de cada pregunta con la respuesta, pero como te dije tu problema es mas sobre diseño de base de datos saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 27/02/2011, 20:49
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: Sistema de encuesta.

Cita:
Iniciado por carlos_belisario Ver Mensaje
Pues creo que tienes un error en lo que es el diseño de tu base de datos, si es una encuesta debes de tener solo dos campos preguntas y respuestas de tal manera que puedas contar cuantas respuestas tiene cada una, aunque viendolo bien deberias de tener dos tablas una para las preguntas y otras para las respuestas relacionadas por un id de tal manera que puedas hacer un count de cada pregunta con la respuesta, pero como te dije tu problema es mas sobre diseño de base de datos saludos
Hola, gracias me has orientado algo.. pero lo que no entiendo como poner son las opciones osea las respuestas que tengan el mismo id.. osea volvamos al ejemplo anterior:

"¿Cual es su lenguaje favorito? opciones "PHP" "Javascript" "Python" "otros".."
donde la pregunta iria en el campo 'pregunta' y en la tabla de respuestas pongo como id el mismo que tiene pregunta y en el campo 'respuestas' pongo una debajo de otra pero con el mismo id.. algo asi..

//TABLA encuesta_resp///
--campo1---campo2---
---id-----|---respuesta--|
---1-----|---PHP--------|
---1-----|---Javascrip---|
---1-----|---Python-----|
---1-----|----otros------|
---2-----|----respuestas de la proxima encuesta------|
  #4 (permalink)  
Antiguo 27/02/2011, 21:11
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Tema movido desde PHP a Bases de Datos
  #5 (permalink)  
Antiguo 27/02/2011, 21:23
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Sistema de encuesta.

las respuestas van a tener el mismo id de la pregunta o un campo pregunta_id por asi llamarlo en el ejemplo de manera que este campo relacione la pregunta con la respuesta dada y puedas hacer algo como esto

Código PHP:
Ver original
  1. <?php
  2. $link = mysql_connect("localhost","root","");
  3. $query = mysql_query("SELECT COUNT(*) as 'cantidad',respuesta FROM pregunta INNER JOIN respuesta ON pregunta.id = respuesta.pregunta_id WHERE pregunta.id = 1 GROUP BY respuesta.respuesta") or die (mysql_error());
  4. while($row = mysql_fetch_array($query)){
  5.     $data[] = $row;
  6. }
  7. print_r($data);
  8. ?>

no se si es lo que necesites pero es una pequeña idea y ahi tienes las cantidades y todo espero te sirva de guia, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #6 (permalink)  
Antiguo 27/02/2011, 21:28
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: Sistema de encuesta.

Cita:
Iniciado por carlos_belisario Ver Mensaje
las respuestas van a tener el mismo id de la pregunta o un campo pregunta_id por asi llamarlo en el ejemplo de manera que este campo relacione la pregunta con la respuesta dada y puedas hacer algo como esto

Código PHP:
Ver original
  1. <?php
  2. $link = mysql_connect("localhost","root","");
  3. $query = mysql_query("SELECT COUNT(*) as 'cantidad',respuesta FROM pregunta INNER JOIN respuesta ON pregunta.id = respuesta.pregunta_id WHERE pregunta.id = 1 GROUP BY respuesta.respuesta") or die (mysql_error());
  4. while($row = mysql_fetch_array($query)){
  5.     $data[] = $row;
  6. }
  7. print_r($data);
  8. ?>

no se si es lo que necesites pero es una pequeña idea y ahi tienes las cantidades y todo espero te sirva de guia, saludos
si creo que es eso lo que necesito. pero mi nivel sql no llega a entenderlo :S

Etiquetas: encuesta, sitemap
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:29.