PHP - Ideas sobre como crear la opcion "Nuevos mensajes por leer"

 
Vista:

Ideas sobre como crear la opcion "Nuevos mensajes por leer"

Publicado por Francisco Javier (2 intervenciones) el 22/01/2019 19:35:32
Hola, buen día.

Me gustaría obtener información de como crear la opción en un foro, tablón o similares de "Mensajes nuevos por leer". En algunos foros al visitarlos y leer algunos mensajes, estos quedan marcados, o bien lo que no se han leído, quedan resaltados de alguna manera.

A mi solo se me ocurre que en la tabla del usuario, tenga un campo numérico, donde almacene el ultimo numero del mensaje leído, pero así como es lógico, no funciona bien, ya que si lee el ultimo, los demás quedan marcados como leídos.

Me gustaría que la forma fuera mediante mysql, y no con cookies.

Salu2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ideas sobre como crear la opcion "Nuevos mensajes por leer"

Publicado por Yamil Bracho (889 intervenciones) el 22/01/2019 19:55:58
Tendrias que agregar una tabla que contenga el Id del usuario y el Id del mensaje que ha leido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Javier (orzo) Rodríguez
Val: 85
Ha disminuido su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ideas sobre como crear la opcion "Nuevos mensajes por leer"

Publicado por Javier (orzo) Rodríguez (25 intervenciones) el 23/01/2019 08:46:48
Hola, Francisco Javier.
Asumiendo que tienes una tabla de usuarios:

id, int
usuario, varchar

puedes crear otra tabla mensajes:

id, int
usuario_id, int (esto apunta al campo id de usuarios)
mensaje, text
leido, int (0=no leído, 1=leído)

Cuando el usuario lea un mensaje, cambias su campo leído de 0 a 1.
Para saber si hay mensajes pendientes de leer de ese usuario, basta con que hagas algo como:

SELECT COUNT(leido) FROM usuarios WHERE leido=0 AND usuario_id=(el id del usuario rastreado)

Y poco más, diría yo.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ideas sobre como crear la opcion "Nuevos mensajes por leer"

Publicado por Kathyu (905 intervenciones) el 23/01/2019 15:57:45
Nop, porque su tabla no podría (o se llenaría de basura) no es bueno meter en una sola tabla todos los ID's de todos los usuarios que ya leyeron ese post, es inviable.

La mejor opción? tabla que una usuario y post.

Otra mas fumada es ver como hacen ese proceso los de SMF, puede registrarse en la comunidad de habla hispana y que le ayuden con ese dilema ya que SMF lo hace super bien
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar