Ver Mensaje Individual
  #12 (permalink)  
Antiguo 22/01/2008, 02:41
Keysher
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 6 meses
Puntos: 17
Re: creacion de un foro: deteccion de posts nuevos

Yo lo que he entendido es que cuando un usuario accede al foro se marquen de un modo diferenciado los temas que tienen posts que no haya leído.

Y esto no es tan sencillo, ya que un usuario se puede loguear y no haber leído todos los mensajes, por lo que no se puede mirar sólo con la fecha de último ingreso y la fecha del último comentario del tema.

En ese aspecto sigo pensando en algo parecido a la estructura que planteé, aunque quizás con alguna modificación:


Tabla de usuarios-posts:

ID_User
ID_Post
Numero_Respuestas

Así, al loguearse en el foro y mostrar los temas, por cada uno de ellos se hace una consulta a esta tabla, si no devuelve resultados o devuelve un número de respuestas menor al que realmente hay, es que hay mensajes sin leer en ese post en concreto.

Esta tabla se actualizará cuando el usuario entre en el post, si no existe la entrara pada el user y post actual se creará, y si ya existe se actualizará el número de respuestas.

Esto tiene inconvenientes, si se borra un mensaje de un post puede generar incoherencias y marcar como ya leído un mensaje que no lo está.

La opción de la fechas sigue siendo muy factible, en ese caso en vez del número de respuestas guardaríamos la fecha del último acceso, para comprobar si hay mensajes sin leer en un pos tendríamos que mirar si existe algún mensaje cuya fecha sea mayor a la fecha de último acceso (fecha y hora, evidentemente).

Mirándolo bien ahora, me sigo quedando con la opción de la fecha y hora, es más segura y no creo que sea más pesada en rendimiento que guardar el número de respuestas.