[Bulma] Consulta de PHP, resaltar mensajes no leidos en un foro.
Hugo Chinchilla
hugo en bulma.net
Dom Feb 24 02:19:48 CET 2008
El 23/02/08, Miguel Gonzalez Castaños <miguel_3_gonzalez en yahoo.es> escribió:
> Hugo Chinchilla escribió:
>
> > Saludos, tengo un problemilla con una aplicación que estoy haciendo en
> > PHP, a ver si me podéis ayudar.
> >
> > La aplicación es muy similar a un foro, necesito poder resaltar los
> > mensajes nuevos cada vez que un usuario accede al sistema, lo primero
> > que he pensado ha sido en usar la fecha de ultimo acceso del usuario y
> > la fecha de ultima modificación del post para marcarlo o no, pero me
> > han surgido un par de problemas:
> >
> > ¿cuando actualizo la fecha de ultimo acceso? si la modifico al entrar
> > todos los mensajes serán más antiguos, si lo hago en el momento del
> > logout los usuarios que prefieran que el navegador les mantenga la
> > sesión verán falsos mensajes no leídos.
> >
> > Además de que de esta manera si el usuario entra, no lee nada y sale,
> > cuando vuelva a entrar no los verá resaltados.
> >
> >
> > La otra idea es que cada vez que se inserte nuevo contenido en el foro
> > añadir el id del mensaje a una lista de mensajes no leídos que tendrá
> > cada usuario, aunque esto me parece un poco bestia, la aplicación no
> > tendrá mas de 50 usuarios por lo que sería viable, pero no me parece
> > la mejor manera.
> >
> > ¿Que me sugerís?
> >
> >
>
> No es por nada pero no queda muy claro el sistema que tienes, con lo que
> es difícil que te podamos ayudar.
>
> A mi humilde entender, tienes que tener un campo cuando el usuario hace
> logout en que pongas la fecha y hora en que salio el usuario (lo mismo
> con el ultimo login). Entonces si los mensajes que tienes tienen fecha,
> la comparas con esa fecha y si se han creado despues de que entrara el
> usuario, se los puedes mostrar.
>
> La verdad, no se entiende muy bien que es lo que quieres hacer, con lo
> que repito es dificil ayudarte
>
> Saludos,
>
> Miguel
Tienes razón, pero no los he dado porque no estoy limitado en ese
sentido, si me dais una solución, aunque requiera añadir campos nuevos
a la base de datos se añaden.
Así que puedes dar por supuestas las necesidades y centrarte en la solucion.
Hablando con friki se me ha ocurrido que al vez podría hacerse usando
la cookie, si durante la fase de login meto la fecha antigua en la
cookie antes de actualizarla (fecha de ultimo acceso) y hago las
comparaciones contra la cookie no tendré el primer problema que os
planteaba. Pero aun así, si el usuario lo lee y vuelve al panel
principal (donde se muestran todos los hilos) lo seguirá viendo como
no leido. Aunque este problema ya es menor, al menos ya puedo
diferenciar contenido nuevo de contenido viejo, lo cual es un avance.
Saludos.
--
Hugo Chinchilla Carbonell
Good programmers often confuse halloween (31 OCT) with christmas (25 DEC)
Más información sobre la lista de distribución Bulmailing