Conseil forum messages lus/non lus

Résolu/Fermé
Bertrand40 Messages postés 1193 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 - Modifié par Bertrand40 le 1/04/2010 à 12:29
Bertrand40 Messages postés 1193 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 - 2 avril 2010 à 09:07
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 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
1 avril 2010 à 18:05
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 1193 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 192
1 avril 2010 à 18:13
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 1193 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 192
1 avril 2010 à 18:16
Hehe non je suis con je vois ce que tu veux dire.. ^^
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
1 avril 2010 à 18:21
« 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 1193 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 192
1 avril 2010 à 18:26
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 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
1 avril 2010 à 18:37
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