IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] Implémenter une méthode lu / non lu pour un forum


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 147
    Points : 64
    Points
    64
    Par défaut [Système] Implémenter une méthode lu / non lu pour un forum
    Bonjour à tous,

    je suis en train de coder un petit forum (tres basic) mais j'aimerai quand meme avoir la fonctionnalité lu/non lu pour chaque thread.

    Quelqu'un à t'il une méthode particuliere à me conseiller ? Je suppose qu'il faut jouer avec les cookies.

    Merci beaucoup par avance

    B.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Si tes membres sont authentifiés, il suffit d'une table Lus à 2 champs : idForum et idMembre.
    Quand un membre lit un message, tu l'insères dans ta table, et le tour est joué. Tu peux faire aussi l'inverse.
    L'inconvénient : la table risque de devenir très grosse au bout d'un certain temps. En même temps, chaque enregistrement a un poids ridicule...

    Le cookies n'est utile (indispensable) que si le lecteur est un simple visiteur. Mais ça ne fonctionnera pas si les cookies sont refusés, si le visiteur est sur un autre ordi...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 147
    Points : 64
    Points
    64
    Par défaut
    Merci vq33 de ta réponse,

    seulement le fait de mettre en base pause effectivement le probleme d'une table qui va grossir grossir et grossir. De plus l'utilisateur peut avoir lui thread dans ce cas je le met flag en lu dans la table, mais si un autre utilisateur vient rajouter un réponse il faut le "déflaguer".

    Je sais pas comment c'est implémenter dans les sytemes type phpbb ou autre !!

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    A chaque nouveau post, tu supprimes tous les enregistrements Lus correspondants au thread concerné. Ca se fait en une requête ultra simple et ultra rapide (elle porte sur des id numériques, autant dire que tu ne peux pas faire plus optimisé).
    Pour la taille de la table. Fait un test en remplissant une table avec le nombre d'enregistrements que tu penses avoir (threads x users), et fais un benchmark. A mon avis, tu n'as pas trop de risques. Tu peux aussi purger la table des threads trop anciens, ou inactifs depuis trop longtemps (en légende, tu mets : threads lus depuis 1 mois, par exemple).

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 147
    Points : 64
    Points
    64
    Par défaut
    Merci vq33,

    je vais me pencher sur ta solution, effectivement je peux faire une routine qui vient purger la table

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/12/2011, 14h16
  2. Réponses: 0
    Dernier message: 21/10/2009, 16h59
  3. Réponses: 1
    Dernier message: 21/03/2008, 02h51
  4. Réponses: 4
    Dernier message: 24/11/2005, 09h34
  5. Réponses: 4
    Dernier message: 27/06/2005, 20h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo