Gelesen und ungelesene Beiträge

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

  • Gelesen und ungelesene Beiträge

    Hmpf,muss den ganzen Beitrag nochmal schreiben,AOL is mir abgestürzt...

    Also,Ich bin grad etwas ratlos,wie Ich es realisieren soll,dass Threads als gelesen bzw. ungelesen gekennzeichnet werden...
    Ich hatte die Idee,dass ich in meiner Session-Tabbelle eine Spalte namens "read_posts" einfüge...Ich würde dann die gelesenen Posts so speichern:
    {thread_id1}zeit des anguckengs des threads},{thread_id2}zeit des anguckengs des threads},etc.
    dann könnte man das mit so speichern:
    $bla = explode( ":", explode( ",", $read_posts ) );
    Dann wird einfach verglichen,ob das neueste Posting im Thread neuer ist als das Datum in der DB...Folgerichtig wird der EIntrag in der DB aktualisiert...

    Ich bin mir aber nicht ganz so sicher,ob dieser Weg so gescheit ist,da die DB ja extrem belastet wird...Bei 1000 Benutztern und 10000 Beiträgen,wären das 1000*10000 Einträge,was nicht effizient sein kann...Hab auch überlegt das über Cookie zu machen,aber Cookie hat nicht jeder aktiviert(deshalb habe ich mein Session-System für mit und ohne Cookies geschrieben)und ausserdem haben Cookies ein Limit(ich weiss nicht genau wieviel).
    Ich bin für Vorschläge offen!
    Zuletzt geändert von V 9 1 9 V; 23.11.2003, 18:53.

  • #2
    Hmmm,hab mal das hier gefunden...

    "ich würd's so machen, zu jedem post einen timestamp machen, den letzten logout auch mit einem timestamp speichern und dann alles was nach deinem logout gekommen ist markieren. wenn du alles als gelesen markieren willst setzt du die logout-zeit auf NOW"

    Scheint mir aber nicht gerade Sinnvoll,da ja dann alle neuen Posts die nach dem Login erscheinen immernoch als ungelesen/gelesen(weiss grad nich so genau )markiert sind...

    Kommentar


    • #3
      also, da mich das problem auch schon genervt hat ...

      ich hab's bspw. bei meinem board jetzt so, dass für registrierte benutzer ein datensatz angelegt wird, wann sie zuletzt in einem thread waren.

      das ganze hab ich beschränkt auf die x threads, die die letzten posts enthalten (x bspw. = 30 threads) und auch nur dann, wenn diese posts in den letzten y tagen waren (y bspw. = 10)

      was besseres ist mir nicht eingefallen, um auch bei ein vielzahl von benutzern den speicherbedarf klein zu halten.

      wie gesagt, ne bessere alternative is mir auch nich eingefallen.

      Kommentar


      • #4
        Danke,die Lösung scheint mir nicht schlecht zu sein um auch bei grösseren Boards noch eine gute Performance zu erzielen...

        Bin dennoch für weitere Vorschläge offen

        Kommentar


        • #5
          ein aus threadid:timestamp,threadid:timestamp,etc zusammengesetzter string der mit explode zum array gemacht wird, den man im cookie speichert war meine überlegung.

          oder den weg mit der datenbank wie oben beschrieben, wobei mir der mittlerweile fast besser vorkommt.

          es gibt allerdings auch boards, die einen timestamp ausm cookie einfach nur mit denen der threads vergleichen .. etwas ungenauer dann.

          Kommentar


          • #6
            Bin schon längst fertig mit dem Feature,aber dennoch danke

            Hab in der DB nen' Eintrag angelegt wie du sagtest...threadid:timestamp,threadid:timestamp,etc...
            Funzt wunderbar

            Kommentar

            Lädt...
            X