20-12-2008, 02:47 PM
(Modification du message : 20-12-2008, 02:50 PM par Sephi-Chan.)
(20-12-2008, 01:59 PM)Holy a écrit : Personnellement j'utilise la première technique, j'ai un table qui enregistre les "visions" des joueurs. Dés qu'un joueur arrive sur un sujet, je crée une entrée avec son pseudo et l'id du sujet.
Dés qu'un nouveau message est posté, je supprime toutes les entrées avec l'id du sujet et voilà ^^
Il y a la technique du timestamp aussi comme l'a fait remarqué Sephi, mais elle est moins précise. Elle est évidemment moins gourmande
Je ne comprends pas… En quoi est-elle moins précise ?
Je suis en mesure de savoir à quelle heure l'utilisateur a lu le sujet, et par conséquence, quels messages il a lu. Grâce à ça, je peux facilement faire une option "accéder au premier message non lu".
Et effectivement, elle est beaucoup moins gourmande puisque je n'ai qu'une seule requête INSERT… ON DUPLICATE KEY UPDATE exécutée quand l'utilisateur lit un sujet.
On peut même optimiser encore en enregistrant les messages lus en base de données et session. Puis lors du listing des discussion ou des messages d'une discussion, regarder en session (et si le tableau n'existe pas en session, on le récupère).
Sephi-Chan