Foros del Web » Programando para Internet » PHP »

Duda con sistema de encuestas

Estas en el tema de Duda con sistema de encuestas en el foro de PHP en Foros del Web. Hola amigos, estoy liao con un sistema de encuestas pero me parece ami que es mas ya por el mareo que por otra cosa.. . ...
  #1 (permalink)  
Antiguo 26/08/2009, 03:46
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 8 meses
Puntos: 8
Pregunta Duda con sistema de encuestas

Hola amigos, estoy liao con un sistema de encuestas pero me parece ami que es mas ya por el mareo que por otra cosa.. . Bueno mi consulta es la siguiente, estoy haciendo un sistema de encuestas para mi foro, para que al crear un post puedan insertar una encuesta si lo deseasn, hasta hay va todo bien ya que se adjunta bien el id del post y se muestra arriba de su post. Lo que no se me ocurre es como hacer para que el usuario no pueda votar mas de dos veces..

La base de datos la llevo asi:

encuestas
id
idforo
titulo
fecha

respuestas
id
texto
votos
idenc

Alguna idea de como podria hacerlo?
  #2 (permalink)  
Antiguo 26/08/2009, 04:01
 
Fecha de Ingreso: septiembre-2003
Ubicación: Madrid
Mensajes: 53
Antigüedad: 21 años, 2 meses
Puntos: 1
Respuesta: Duda con sistema de encuestas

Buenas.

Tienes que almacenar en algún sitio la relación usuario-encuesta.

Hay varias opciones, pero al tenerlo en base de datos, lo más sencillo sería hacer una tabla más

table usuario_encuesta
idusuario
idenc

Se puede ampliar con más valores para hacer más cosas pero si simplemente quieres saber si un usuario ha votado en una encuesta, con insertar en esta tabla cuando el usuario vota y comprobar antes de permitirle votar lo tendrías solucionado.

Saludos.
  #3 (permalink)  
Antiguo 26/08/2009, 04:03
 
Fecha de Ingreso: septiembre-2004
Mensajes: 324
Antigüedad: 20 años, 2 meses
Puntos: 13
Respuesta: Duda con sistema de encuestas

Doy por supuesto que tienes una tabla de usuario.
Tiene que crear otra tabla con estos campos:
Tabla: votadas
ID > Primaria > Auto incrementa
ID_Encuesta
ID_usuario

Cada vez que el usuario vote creas un registro en esa tabla.

Despues haces un
SELECT * FROM votadas WHERE ID_usuario='".$LA_ID_DEL_USER."' AND ID_Encuesta='".$LA_ID_DE_LA_ENCUESTA."'

y si:

if (mysql_num_rows($Consulta) > 0){
//Ha votado
}else{
//no ha votado
}
  #4 (permalink)  
Antiguo 26/08/2009, 04:31
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 8 meses
Puntos: 8
Respuesta: Duda con sistema de encuestas

muchisimas gracias a los dos estoy ahora mismo probandolo os dire algo ;)
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 22:16.