Partage
  • Partager sur Facebook
  • Partager sur Twitter

Forum: comment on fait pour savoir si un membre a déjà vu un topic

Sujet résolu
    13 mai 2006 à 11:48:14

    Bonjour,

    Je vais bientôt coder un petit forum en php (pas un gros truc avec pleins d'options). Et je me demande comment on fait pour savoir si un membre a déjà vu un topic, si il y a de nouveaux messages dessus ?

    En fait ma question porte surtout sur la structure des tables mysql pour ce forum.
    • Partager sur Facebook
    • Partager sur Twitter
      13 mai 2006 à 12:00:28

      Champ :

      is_read (INT)

      ---

      <?php
      $pseudo = ""; // Pseudo du membre (session, cookies, ...);
      $a = mysql_query("SELECT is_read FROM forum_topic WHERE pseudo='$pseudo'");
      $assoc = mysql_fetch_assoc($a);

      if ($assoc['is_read'] != 0)
      {
      // Topic lue
      }
      else
      {
      // Topic non lue
      }
      ?>
      • Partager sur Facebook
      • Partager sur Twitter
        13 mai 2006 à 12:07:49

        J'ai pas trop compris... par exemple si forum_topic et la table qui contient les messages:

        forum_topic
        titre
        message
        is_read


        A quoi correspond le WHERE pseudo=... ?

        Il faut peut-être faire une table pour les messages lus/non lus, mais après elle va vite devenir immense. Enfin bref j'ai besoin d'aide, je trouve pas comment faire ça efficacement... :p
        • Partager sur Facebook
        • Partager sur Twitter
          13 mai 2006 à 14:40:58

          Bonjour, il n'y as rien de plus simple je vais éssayer d'être clair.
          Premièrement voici les tables ultra simplifié (je n met que ce qui nous est util pour le code) dont tu auras besoin:
          Table: members
          id medium int


          read_id text


          Bon alors le but du script est de stoquer dans le champ read_id les id des membres ayant lut le topic, pour pouvoir les diférencier tu les sépare par des virgules par éxemples.
          Ensuite lorsque tu affiche les posts pour un membre tu vérifie si son id se trouve dans le champ read_id: si oui il as lut le topic, si non il ne l'as pas lut.
          Pour finir tu remet ce champ à 0 (NULL) lorsque quelqu'un post un message dans le topic.

          Pour savoir si le membre à participer au sujet c'est la même méthode mais sans mêtre à 0 à chaque nouveaux post.

          Au revoir.

          PS: avant d'enregistrer l'id du membre vérifie qu'elle n'y soit pas déjà sinon tu l'enregistrerait deux foix, stupide et perte de place.
          • Partager sur Facebook
          • Partager sur Twitter
            13 mai 2006 à 14:59:04

            Merci beaucoup pour cette solution.
            • Partager sur Facebook
            • Partager sur Twitter

            Forum: comment on fait pour savoir si un membre a déjà vu un topic

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown