Foros del Web » Programando para Internet » PHP »

Mensajes leidos para cada usuario

Estas en el tema de Mensajes leidos para cada usuario en el foro de PHP en Foros del Web. Hola a todos!, estoy realizando una mini foro y me encuentro con la dificultad de que: *deseo marcarle al usuario los post que ha leido ...
  #1 (permalink)  
Antiguo 13/01/2014, 23:46
 
Fecha de Ingreso: febrero-2009
Mensajes: 151
Antigüedad: 15 años, 2 meses
Puntos: 1
Mensajes leidos para cada usuario

Hola a todos!, estoy realizando una mini foro y me encuentro con la dificultad de que:

*deseo marcarle al usuario los post que ha leido y los que no*

el problema es que nose como hacerlo... ¿que deberia usar? ¿base de datos?, seguramente seria muy lento y para nada optimo... cookies no porque solo serviria para la pc en la que esta y ademas si borra las cookies..., ni hablar, realmente estoy totalmente desorientado con esto. Desde ya les agradesco por sus ayudas y consejos!!!.
  #2 (permalink)  
Antiguo 14/01/2014, 00:42
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 13 años, 10 meses
Puntos: 55
Respuesta: Mensajes leidos para cada usuario

creo que lo unico es una base de datos, aunque es verdad que podria hacer mas lento tu foro.
  #3 (permalink)  
Antiguo 14/01/2014, 10:06
 
Fecha de Ingreso: febrero-2009
Mensajes: 151
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Mensajes leidos para cada usuario

Cita:
Iniciado por waldragon Ver Mensaje
creo que lo unico es una base de datos, aunque es verdad que podria hacer mas lento tu foro.
Hola waldragon!, muchas gracias por tu respuesta, si parece ser que esa es la unica alternativa, ahora el tema es como estructurarlo...

habia pensado en agregar una columna a la tabla donde tengo los temas del foro y en ella ir guardando los id de quienes van leyendo el tema separados por coma.... nose que te parece. Abrazo!
  #4 (permalink)  
Antiguo 14/01/2014, 12:21
 
Fecha de Ingreso: junio-2012
Mensajes: 147
Antigüedad: 11 años, 9 meses
Puntos: 1
Respuesta: Mensajes leidos para cada usuario

Si tienes que almacenar en la BD una relación N:M (múltiples usuarios pueden leer múltiples temas) lo debes separar en una tabla aparte que especifique esa relación. Por ejemplo:

Código SQL:
Ver original
  1. CREATE TABLE usuarios_temas (
  2.   idusuario NOT NULL,
  3.   idtema NOT NULL
  4. )

Donde idusuario e idtema son claves foráneas (apuntan a sus respectivas tablas) y la clave primaria de la tabla usuarios_temas es la asociación de idusuario e idtema.

Cuando un usuario lea un tema, añades un registro en esa tabla con el id del usuario y el id del tema y listo.
  #5 (permalink)  
Antiguo 21/01/2014, 10:07
 
Fecha de Ingreso: febrero-2009
Mensajes: 151
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Mensajes leidos para cada usuario

Cita:
Iniciado por DandyCC Ver Mensaje
Si tienes que almacenar en la BD una relación N:M (múltiples usuarios pueden leer múltiples temas) lo debes separar en una tabla aparte que especifique esa relación. Por ejemplo:

Código SQL:
Ver original
  1. CREATE TABLE usuarios_temas (
  2.   idusuario NOT NULL,
  3.   idtema NOT NULL
  4. )

Donde idusuario e idtema son claves foráneas (apuntan a sus respectivas tablas) y la clave primaria de la tabla usuarios_temas es la asociación de idusuario e idtema.

Cuando un usuario lea un tema, añades un registro en esa tabla con el id del usuario y el id del tema y listo.
Muchisimas gracias!!! asi lo hice . Gracias a todos por sus ayudas!!!
  #6 (permalink)  
Antiguo 21/01/2014, 10:28
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Mensajes leidos para cada usuario

Pero es mejor comparar la fecha del ultimo post con la ultima visita del usuario
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.

Etiquetas: cada, mensajes, usuario
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 05:39.