Ankündigung

Einklappen
Keine Ankündigung bisher.

Themen als gelesen markieren, aber wie?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Themen als gelesen markieren, aber wie?

    Hallo,

    ich brauch mal wieder einen Rat. Und zwar möchte ich ein kleines Forum programieren aber ich scheiter schon an der planung xD.

    Also ich weiß noch nicht wie das Script wissen soll ob das Thema schon gelesen wurde oder nicht. Ich hatte mir schon eine Sache ausgedacht, aber sie ist glaub ich nicht wirklich gut. Meine Idee war, das ich einfach alle Themen und die Zeit speichere wann der User das letzte mal auf das Thema zugegriffen hat in einer DB speichere. Aber das wären ja schon bei 20 Usern und 150 Themen 3000 (!!!) Einträge, das sind, denke ich mal, einfach viel zu viele, den ich bin auch von einem zimlich kleinen Forum noch ausgegangen.

    Wie würdet ihr das am besten lösen?

  • #2
    Wie wäre es wenn du dir einfach mal ein paar Foren-systeme anschaust und schaust wie es da gelöst ist ?
    [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
    | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

    Kommentar


    • #3
      Einen anderen Weg, als per DB halte ich nicht für sinnvoll!
      Competence-Center -> Enjoy the Informatrix
      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

      Kommentar


      • #4
        Vielleicht mit Cookies? Ich hätte es mit der DB gemacht.


        Kommentar


        • #5
          Wenn du es einfach haben willst, nimm Sessions. Prüfe, welche Themen neue Beiträge enthalten und speichere diese in der Session. Hat den Nachteil, dass beim Beenden der Session automatisch alle Beiträge als gelesen gelten. Soll die Funktion sessionübergreifend funktionieren, nimm die DB.
          Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

          Kommentar


          • #6
            Hm, danke ich werde es dann mal mit der DB probieren und dann mal schauen wie das läuft. Sonst muss ich mir nochmal was anderes einfallen lassen, den das mit den den cookies finde ich nun auch net wirklich eine schöne Lösung.

            @Manko, sollte schon Sessionsübergreifent sein.

            Kommentar


            • #7
              ich denke, die meisten Foren nutzen hierfür eine separate Tabelle, in der abgelegt ist, welche Threads ungelesen sind oder umgekehrt: welche Threads gelesen, kombiniert mit der User-ID. Also in etwa so:
              Code:
              +----------+--------+--------+
              | threadID | postID | userID |
              +----------+--------+--------+
              |        1 |    123 |  12345 |
              |    98765 |   5678 |     22 |
              +----------+--------+--------+
              usw. threadID ist zwar in der verknüpften Postings-Tabelle enthalten, hier aber redundant abgelegt, um evtl. unnötige Joins zu vermeiden, könnte aber Probleme beim Verschieben von Postings zwischen Threads geben. Das musst du halt abwägen. Eine gute Index-Struktur könnte die Maßnahme je nach Situation aber auch überflüssig machen.

              Ansonsten hier auch noch ein Thread zum Thema: PHP Forums - how to cope with unread discussions / topics / posts - Stack Overflow
              Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

              Kommentar

              Lädt...
              X