Ca c'est du remontage de topic, tellement que ça fait bien 3 ans et presque autant que j'ai pas du venir sur ce forum, le mail m'a surpris ^^
Mon avis a un peu changé et ma première proposition me semble inadéquat.
Tu n'as que 2 solutions:
- Créer une table de relation entre chaque utilisateur et chaque message.
- Créer une table de relation entre chaque utilisateur et chaque topic et utiliser l'id du dernier message comme référence (ou le temps de celui-ci, ça peut être même mieux).
Aucun de ces solutions n'a de charge importante à la création du topic, les entrées sont ajoutées quand les messages sont lus et uniquement à ce moment là.
La seconde solution permet de minimiser le nombre d'entrées, elle diminue le nombre d'insertion et le nombre de requête ou de résultats lorsqu'on veut savoir si les messages d'un topic sont lus. Cependant, l'inconvénient est qu'il faut savoir faire un sacrifice avec le système de pagination.
Pour une affichage de 20 messages/page, si les 20 derniers messages sont lus et pas les 10 suivants, ils seront tous marqués comme lu.
Je vais utiliser cette solution pour un autre système pour lequel seule la date du dernier passage m'intéresse vraiment.
EDIT HS: Si le forum est toujours actif, au moins un peu, j'ai des sujets à lancer, au moins 1, mais pas trop envie de parler dans le vent. :-P
Mon avis a un peu changé et ma première proposition me semble inadéquat.
Tu n'as que 2 solutions:
- Créer une table de relation entre chaque utilisateur et chaque message.
- Créer une table de relation entre chaque utilisateur et chaque topic et utiliser l'id du dernier message comme référence (ou le temps de celui-ci, ça peut être même mieux).
Aucun de ces solutions n'a de charge importante à la création du topic, les entrées sont ajoutées quand les messages sont lus et uniquement à ce moment là.
La seconde solution permet de minimiser le nombre d'entrées, elle diminue le nombre d'insertion et le nombre de requête ou de résultats lorsqu'on veut savoir si les messages d'un topic sont lus. Cependant, l'inconvénient est qu'il faut savoir faire un sacrifice avec le système de pagination.
Pour une affichage de 20 messages/page, si les 20 derniers messages sont lus et pas les 10 suivants, ils seront tous marqués comme lu.
Je vais utiliser cette solution pour un autre système pour lequel seule la date du dernier passage m'intéresse vraiment.
EDIT HS: Si le forum est toujours actif, au moins un peu, j'ai des sujets à lancer, au moins 1, mais pas trop envie de parler dans le vent. :-P
Anciennement IGstaff.
Administrateur serveur & développeur web.
Mes sites: Je ne fais plus de site de jeu.
Autres sites: Staart V2, Cartman34 PWS, Anek.me
Administrateur serveur & développeur web.
Mes sites: Je ne fais plus de site de jeu.
Autres sites: Staart V2, Cartman34 PWS, Anek.me