Bonsoir,
Ce sujet n'est pas directement lié au langage SQL mais a la structure de ma base de données.
J'ai un board (forums) que j'ai développé de toute pièce, en PHP et MySQL. Ce board est composé de plusieurs forum (board avec une profondeur de 1, c'est a dire que il n'y a pas de sous forums). Sur la page d'accueil dudit board (là où il a y les liens pour accéder aux forums) je veux afficher le nombre de nouveau message (nouveau par rapport a la dernière visite) de chaque forums.
J'ai pensé a ajouter des champs dans la table des inscrits au board (autant de champs que de forums, ca me gène un peu, surtout si je veux rajouter des forums plus tard). A chaque nouveau message posté par un inscrit, il faudrait mettre a jour le champs correspondant (c'est a dire le champ "nombre de nouveau message") dans la table des inscrits, pour TOUS les inscrits. Ça me gêne un peu de modifier toute la table des inscrits (c'est a dire mettre a jour le nombre de nouveau message pour le forum dans lequel le nouveau message est posté. Et ce a chaque nouveau sujet ou chaque nouveau post).
Évidement a chaque visite des forums il faut décrémenter (moi je dirais remettre a zéro complètement, c'est un choix) le champ "nombre de message non lu" pour le forum visité, pour l'utilisateur concerné.
Ceci pourrait marcher (je pense), mais je ne suis pas satisfait. Surtout que on ne peut pas ajouter des forums a la volé. C'est une grosse contrainte. Avez vous une autre solution ? Pouvez vous me proposer une autre (une meilleur et plus flexible) architecture dans la structure de mes données ?
J'espère que j'ai été clair...
Merci.
J.
Partager