Foros del Web » Programando para Internet » PHP »

Mensajes sin leer

Estas en el tema de Mensajes sin leer en el foro de PHP en Foros del Web. Buenas nuevamente chicos! Bueno, quisiera que me dieran ideas para realizar un sistema de mensajes sin leer lo más práctico posible utilizando bases de datos ...
  #1 (permalink)  
Antiguo 23/01/2009, 16:48
 
Fecha de Ingreso: febrero-2007
Ubicación: Panamá
Mensajes: 50
Antigüedad: 17 años, 2 meses
Puntos: 1
Mensajes sin leer

Buenas nuevamente chicos!
Bueno, quisiera que me dieran ideas para realizar un sistema de mensajes sin leer lo más práctico posible utilizando bases de datos o sin bases de datos.
La idea principal es que si tengo un foro programado por mi mismo, como hacer para leer los mensajes que se hayan actualizado con un comentario desde mi ultima visita.

Había pensado en utilizar una nueva base de datos donde se muestre que comentario no ha sido leído, pero no me gusta mucho la idea, así que he pensado en varias ideas, como por ejemplo:
- comparar la última actualización del tema (llamese el ultimo momento en que se comento con la última actividad del usuario) pero pienso que el problema con esto es que puede haber un problema con lo de cuando se dio la ultima actividad del usuario no necesariamente se vio ese tema. Tambien no supiera hacer un boton de 'marcar todos como leídos'.
- utilizar cookies, pero bueno... si se borran hasta ahí llego la actualización de todo.

¿Ustedes como lo harían? Gracias de antemano chicos :)
  #2 (permalink)  
Antiguo 23/01/2009, 18:36
 
Fecha de Ingreso: agosto-2008
Ubicación: Buenos Aires
Mensajes: 247
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: Mensajes sin leer

si vos no queres que se pierda el registro de si visito o no el foro.... (osea, lo normal es que se registra mediante cockies o variables de session complementariamente...)

si vos es indispensable mantener el registro, tenes qu registrar, por un lado un registro de la ultima actualizacvion del tema del foro....

y por otro lado, el registro de cuando fue la ultima vez que un suaurio entro a cada tema(es algo muy largo y no creo que en un foro valga la pena...)
para evitar tener una tabla muy cargada, lo unico que podiras simplificar, es el hecho de que solo se registren los temas a los que entro un usuario, de tal modo que los que no aparecen en la lista, son por defecto... no visitados...
me parece demasiado complicado.... debe haber algo mejor...

espero que te sea util la idea...

saludos.....
  #3 (permalink)  
Antiguo 23/01/2009, 21:18
 
Fecha de Ingreso: febrero-2007
Ubicación: Panamá
Mensajes: 50
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Mensajes sin leer

Gracias por la respuesta amigo!!, pero no entendi muy bien lo que me quisiste decir.
Disculpa por las molestías.

Explicame que quisiste decir con:
Cita:
si vos no queres que se pierda el registro de si visito o no el foro.... (osea, lo normal es que se registra mediante cockies o variables de session complementariamente...)

si vos es indispensable mantener el registro, tenes qu registrar, por un lado un registro de la ultima actualizacvion del tema del foro...
Gracias de antemano amigo y nuevamente disculpa.
  #4 (permalink)  
Antiguo 23/01/2009, 23:04
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Mensajes sin leer

Seguro que tu programaste el foro?... si eso es cierto entonces me extraña que no hayas entendido lo que dijo binagol.

Basicamente dijo:
Usa sesiones o cookies para almacenar el ID de los temas vistos, pero esto funcionaria solo para contar a partir de la ultima visita (o lo que duren las sesiones o cookies), entendiendo que apareceran como leidos todos los anteriores a esa fecha y hora.

Si te es muy necesario tener un estricto control de todos los temas leidos por cada usuario tendrias que crear una nueva tabla donde almacenes id de usuario, numero de tema y fecha en que fue leido, pero eso es mucha carga para la base de datos.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 24/01/2009, 05:26
 
Fecha de Ingreso: agosto-2008
Ubicación: Buenos Aires
Mensajes: 247
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: Mensajes sin leer

hola, gracias Triby.... eso es exactamente lo que trate de decir... jeje....

que es lo que no entendes demogar???

aver si se te puede ayudar..

saludos...
  #6 (permalink)  
Antiguo 24/01/2009, 09:41
 
Fecha de Ingreso: febrero-2007
Ubicación: Panamá
Mensajes: 50
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Mensajes sin leer

Creo que malinterpretaste Triby.
No fue error de comprensión logica, fue error de comprension gramatical.

El tema lo cree más que nada para saber por que vía ustedes se irían para hacer algo parecido a esto.

Por otro lado, quiero recalcar que:
- Estuve pensando en utilizar cookies del lado del servidor y no del lado del cliente para esto, sin embargo como el servidor es compartido la idea quedó ahí ya que tendría que modificar ciertas cositas para hacer esto me parece.
- Pense también lo de la base de datos, pero el problema básico que tengo con la base de datos es que no quiero tener una base de datos muy sobrecargada, por decirlo así. Aunque con una base de datos bien diseñada no debe haber ningún problema.

Bueno, no molesto más y mejor veo como hacen los sistemas de foro para hacer esto.

Saludos y gracias
  #7 (permalink)  
Antiguo 24/01/2009, 13:48
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Mensajes sin leer

Cookies del lado del servidor?... se llaman sesiones y funcionan aunque estes en servidor compartido.

No es molestia... seguramente encontraras que los demas sistemas hacen lo mismo que te sugirio binagol.
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 24/01/2009, 14:31
 
Fecha de Ingreso: febrero-2007
Ubicación: Panamá
Mensajes: 50
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Mensajes sin leer

No... no me refiero a las variables de sesion, me refiero a las cookies del lado del servidor, son cosas distintas amigo (aunque en funciones son muy parecidas):
http://www.turbozen.com/howto/serversidecookies/

Estuve revisando el codigo de los foros phpbb3 y utilizan dentro de su codigo algo bastante simple, más bien parecido a lo que yo puse en el comienzo del tema.

Se llama a la base de datos cuando fue la ultima actividad del usuario y luego se compara con los temas que se crearon luego de esta actividad... simplemente lo muestran como "temas nuevos desde su ultima visita" por decirlo asi, aunque hubiera preferido utilizar algo más bien para verificar las actualizaciones y no solo los topicos, pero como dice binagol, habría que crear una tabla para guardar cuando se entro por ultima vez en cada tema.

Saludos y gracias, creo que se puede poner como tema solucionado.
  #9 (permalink)  
Antiguo 24/01/2009, 14:50
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Mensajes sin leer

Son lo mismo, solo que para diferente plataforma, en PHP ya lo tienes con las sesiones y en CGI (PERL u otros lenguajes) puedes utilizar el ejemplo del link que proporcionaste.
__________________
- León, Guanajuato
- GV-Foto
  #10 (permalink)  
Antiguo 24/01/2009, 15:00
 
Fecha de Ingreso: febrero-2007
Ubicación: Panamá
Mensajes: 50
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Mensajes sin leer

ok profesor :)
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:56.