Conseil forum messages lus/non lus

Résolu
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   -  
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   -
Salut,

J'ai besoin de votre avis concernant une "méthode" à laquelle j'ai pensé pour déterminer les messages lus/non lus (sur un forum) d'un membre (loggé donc).

Lorsque le membre visualise le message, l'ID du message apparait dans l'URL (j'utilise une méthode GET). De cet ID je peux déduire le message consulté donc, ainsi que tous ses commentaires associés.

Admettons que ce soit le message d'ID = 300, lui-même associé aux 2 commentaires d'ID (la table est la même) 304 et 310. J'aimerais faire en sorte que la chaine de caractères "300 304 310" soit alors entrée dans un champ appelé "lus" dans ma table membres. De cette manière, lors d'une nouvelle visite, en récupérant la chaine dans la table et en la traitant je serais capable de savoir quels messages ont été lus ou pas.

Vous en pensez quoi ? Viable, pas viable ? Gourmand ? Tordu ?

Gourmand j'imagine que oui car s'il y a un jour 1000 messages entrés pour un même membre, le calcul risque d'être lourd..

Merci de votre aide.



Le jambon de Bayonne c'est bon ! Non, disons que personnellement je trouve ça bon.

1 réponse

avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Perso je te conseil de créer une table 'lectures' comportant 2 champs :
- id_membre
- id_topic
Inutile d'enregistrer l'id de chaque message, si le sujet (topic) est lu les messages aussi ...
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
Je vois ce que tu me proposes.
Mais concernant ce que tu dis, c'est pas forcément le cas.
En effet si quelqu'un vient sur le topic et lit le dernier message, c'est ce que tu dis.
Par contre s'il s'en va et revient alors qu'un nouveau commentaire a été posté, comment l'avertir ?
Non ?
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
Hehe non je suis con je vois ce que tu veux dire.. ^^
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
« comment l'avertir ? »
Justement, tu peux dans la table récupérer tous les membres ayant lus ce topic donc les avertirs :)
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
D'accord, c'est pas dur à mettre en place.
Mais selon ma première idée, donc en ne créant pas de seconde table, tu penses que ça reste pas bon comme idée ? Trop lourd ? (même si on n'entre que les ID des topics)
Je dois y aller, je répondrai plus tard, merci de suivre ces messages non-lus ;)
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Déjà, avec ta solution, le champ devrait être du type TEXT (ou CHAR), ce qui n'est pas vraiment top pour stocker des nombres.
Avec ma solution, tu as l'avantage de pouvoir utiliser les jointures en SQL.
0