Foros del Web » Programando para Internet » PHP »

reconocer usuarios que ya votaron

Estas en el tema de reconocer usuarios que ya votaron en el foro de PHP en Foros del Web. Hola amigos soy nuevo en foros del web y quiero pedirles ayuda mi problema es que tengo una web con registro login y un sistema ...
  #1 (permalink)  
Antiguo 05/11/2011, 11:59
 
Fecha de Ingreso: octubre-2011
Ubicación: Santa Lucia del Tuy
Mensajes: 3
Antigüedad: 12 años, 5 meses
Puntos: 0
reconocer usuarios que ya votaron

Hola amigos soy nuevo en foros del web y quiero pedirles ayuda
mi problema es que tengo una web con registro login y un sistema de noticias y un sistema de votos pero no se como hacer que un usuario no pueda votar dos veces una misma noticia si alguien me puede ayudar se lo agradeceria
  #2 (permalink)  
Antiguo 05/11/2011, 12:02
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 3 meses
Puntos: 81
Respuesta: reconocer usuarios que ya votaron

Si sabes algo de programación web es muy fácil, solo debes agregar un campo al usuario, ese campo toma un valor cuando el usuario ya votó. Al votar se verifica si ya votó mediante ese campo. Así de fácil.
  #3 (permalink)  
Antiguo 05/11/2011, 12:11
 
Fecha de Ingreso: octubre-2011
Ubicación: Santa Lucia del Tuy
Mensajes: 3
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: reconocer usuarios que ya votaron

es que no se como guardar en un solo campo todos los usuarios que ya votaron
se bastante de programacion pero me enredo muchas veces con cosas tan sencillas como estas
si alguien sabe por favor me ayude
  #4 (permalink)  
Antiguo 05/11/2011, 12:12
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 5 meses
Puntos: 48
Respuesta: reconocer usuarios que ya votaron

Cita:
Iniciado por Artificium Ver Mensaje
Si sabes algo de programación web es muy fácil, solo debes agregar un campo al usuario, ese campo toma un valor cuando el usuario ya votó. Al votar se verifica si ya votó mediante ese campo. Así de fácil.
No porque si son varias noticias tendrias que estar agregando nuevos campos al usuario para cada noticia.

Seria mas bien una nueva tabla de Noticia - Usuario
Las 2 claves primarias y hagan una relacion con los id de sus respectivos(noticia, usuario)

Y cada que el usuario vote se agrega a esa tabla el id de la noticia y el id del usuario y listo y luego al querer votar se checa la tabla con el where usando el id de noticia y el usuario si existe no vota y sino vota y pues se agrega a la tabla nueva.
  #5 (permalink)  
Antiguo 05/11/2011, 12:36
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 3 meses
Puntos: 81
Respuesta: reconocer usuarios que ya votaron

Cierto, ya me di cuenta de mi error, es por noticia. Bueno, se tendría una nueva tabla como dice s00rk.
  #6 (permalink)  
Antiguo 05/11/2011, 12:39
 
Fecha de Ingreso: octubre-2011
Ubicación: Santa Lucia del Tuy
Mensajes: 3
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: reconocer usuarios que ya votaron

gracias s00rk lo intentare y luego te aviso si me funciono
  #7 (permalink)  
Antiguo 05/11/2011, 16:45
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: reconocer usuarios que ya votaron

Yo lo arreglo usando arrays y guardando los datos serializados.
EJM

Arreglo :

$votos = array('idNoticia' => array(1, 5, 39...)...);

En tu tabla usuario tenes un campo votos donde guardas el array serializado y simplemente lo trabajas. Si el usuario quiere votar la noticia buscas en el array deserializado. Y agregas un nuevo valor al arreglo(idNoticia).

En la tabla noticia podes hacer lo mismo pero con idUsuario... Se me ocurren otras opciones, pero esta es la que mejor me ha servido y creo que en cuestion de ahorro de recursos es lo mas optimo. (Ojo que el arreglo es algo basico, lo podes mejorar)

Saludos
__________________
Drupal Argentina
  #8 (permalink)  
Antiguo 05/11/2011, 18:44
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 5 meses
Puntos: 48
Respuesta: reconocer usuarios que ya votaron

Cita:
Iniciado por NUCKLEAR Ver Mensaje
Yo lo arreglo usando arrays y guardando los datos serializados.
EJM

Arreglo :

$votos = array('idNoticia' => array(1, 5, 39...)...);

En tu tabla usuario tenes un campo votos donde guardas el array serializado y simplemente lo trabajas. Si el usuario quiere votar la noticia buscas en el array deserializado. Y agregas un nuevo valor al arreglo(idNoticia).

En la tabla noticia podes hacer lo mismo pero con idUsuario... Se me ocurren otras opciones, pero esta es la que mejor me ha servido y creo que en cuestion de ahorro de recursos es lo mas optimo. (Ojo que el arreglo es algo basico, lo podes mejorar)

Saludos
ooohhh cierto muy cierto, sale mucho mas eficiente, pero tambien si el usuario no sabe como hacerlo serializado eso costara un poquito mas pero pues como dicen
Ahorita hago mucho pero luego sera poco, y no poco para luego seguir haciendo siempre mucho. (algo asi era jejejej)

Etiquetas: mysql, reconocer, usuarios, votos, yavotaron
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 19:01.