Anzeige

Neue Betraege system fuer Forum [php]

Neue Betraege system fuer Forum [php] | PSD-Tutorials.de

Erstellt von Doitsu, 19.04.2009.

  1. Doitsu

    Doitsu Aktives Mitglied

    Dabei seit:
    15.04.2009
    Beiträge:
    482
    Neue Betraege system fuer Forum [php]
    Hm.. kA ob ich mich im Topic passend ausgedrueckt habe, aber ich weiss nicht wie ich es kurz zusammenfassen sollte. ^^

    Jedenfalls erstmal hallo,

    Ich schreibe z.Z. ein Forum, laeuft soweit auch.
    Nur gefaellt mir das 'system' nicht, wie ich schaue ob in einem Thread/Forum ein neuer Beitrag ist, seitdem man den Thread/das Forum das letzte mal besucht hat..
    Das laeuft wie gefolgt: Ich setze fuer Jedes Forum ein Cookie, das ist ein Array welches ich mit seri alize (wtf, warum wird das zensiert? xD) in ein String forme.
    Was dann in etwa so aussehen mag:
    forum_'forum_id'[thread_id] = Timestamp;
    Fuer jeden Thread dann halt ein neuer key im Forums cookie., versteht sich ja von selbst.
    Aber was nun, wenn der Benutzer den cookie loescht? Dann wird alles als ungelesen, oder alles als neu angezeigt - je nachdem was ich mache, wenn fuer ein Thread noch kein cookieeintrag gesetzt wurde.
    Jetzt habe ich ein wenig rumgehoert, und gehoert, dass es viele wohl mit einer MySQL-Datenbank machen, was ich mich aber nicht so richtig vorstellen kann.. weil das ja dann eine risige Datenbank sein muesste..
    So in etwa stelle ich mir das vor:
    Thread1 | Thread2 | Thread3​
    User1 __ NULL ____ TS ____ NULL
    User2 __ TS ______NULL ___NULL
    User3 __ NULL ____ NULL __ NULL
    .. usw.
    *NULL = default, Thread noch nie besucht.
    *TS = Timestamp

    Jedenfalls um zum Punkt zu kommen, welche von den methoden wuerdet ihr benutzen, oder kennt ihr eine bessere?

    MfG..
     
    #1      
  2. Gweb

    Gweb Nicht mehr ganz neu hier

    Dabei seit:
    05.01.2009
    Beiträge:
    207
    Geschlecht:
    männlich
    Ort:
    Hattingen
    Software:
    CC Abo
    Kameratyp:
    Canon EOS 70D
    Neue Betraege system fuer Forum [php]
    AW: Neue Betraege system fuer Forum
    PHP:
    1. [/b]
    2.  
    3. Deine Daten müssen doch irgendwo gespeichert werden. Und viele Daten ergeben eine größe Datei. Was willst Du statt einer Datenbank nehmen? Eine Textdatei? Dann werden sich alle beschweren, dass das Systam sehr langsam ist. Das hier ist doch ein typischer Fall für eine Datenbank, in der aber nur die Datensätze enthalten sind, wann ein User einen Thread gelesen hat. Pro User und Thread ein Datensatz. Wenn zu Thread 3 und User 1 kein Datensatz existiert, dann hat der User diesen Thread noch nicht gelesen.
     
    #2      
  3. r3nt5ch3r

    r3nt5ch3r ~ Allround pG ~

    Dabei seit:
    10.03.2006
    Beiträge:
    1.836
    Geschlecht:
    männlich
    Neue Betraege system fuer Forum [php]
    AW: Neue Betraege system fuer Forum
    PHP:
    1. [/b]
    2.  
    3. Jeder Post/Thread sollte einen Timestamp haben, der angibt wann er geschrieben wurde. Dann brauchst du ca so eine Tabelle wie du sie dir vorstellst mit den Attributen "threadID", "userID" & "visitTime". Mittels der "visitTime" kannst du ungelesene Posts ermitteln, die nach der "visitTime" geschrieben wurden (das geht bei deinem bisherigen Entwurf nicht, da du nur sagen kannst welche Threads er noch nicht gelesen hat und nicht welche Posts). Wie "Gweb" schon sagte, falls kein Datensatz für ein Thread existiert, hat er ihn noch nicht gelesen (logisch oO). Das wäre mein Vorschlag :D
     
    Zuletzt bearbeitet: 19.04.2009
    #3      
  4. Doitsu

    Doitsu Aktives Mitglied

    Dabei seit:
    15.04.2009
    Beiträge:
    482
    Neue Betraege system fuer Forum [php]
    AW: Neue Betraege system fuer Forum
    PHP:
    1. [/b]
    2.  
    3. [quote="r3nt5ch3r, post: 939157"] Mittels der "visitTime" kannst du ungelesene Posts ermitteln, die nach der "visitTime" geschrieben wurden (das geht bei deinem bisherigen Entwurf nicht, da du nur sagen kannst welche Threads er noch nicht gelesen hat und nicht welche Posts)[/QUOTE]
    4. Hm, wieso? Wenn ich beim Thread ein timestamp vom letzten Besuch habe, kann ich doch mit dem gucken, ob ein neuer Beitrag ist? Oder habe ich dich jetzt falsch verstanden?
    5. .. die Tabelle war jetzt Forenbedingt, was heisst fuer jedes Forum eine andere Tabelle, vllt liegt es auch daran, dass ich euch/ihr mich nicht richtig versteht.
    6. [quote]Was willst Du statt einer Datenbank nehmen? Eine Textdatei?[/quote]
    7. Wuerd ich nie machen - Mit Textdatein schreiben, lesen, usw kenn ich mich (noch) gar nicht aus. ^^ Na ja, nen Counter wuerde ich es mit bissl rumprobieren auch noch hin bekommen *g
    8. Nein, ich wollte eig fragen, ob man es bei cookies belassen koennte, eine cookie + MySQL loesung (habe ich mir auch mal ueberlegt, aber wusste nicht genau wie ich es umsetzen sollte, halt dass die cookies beim logout in eine MySQL Datenbank geschrieben werden, und beim login wieder ausgelesen werden ..) Werd ich mir vllt auch mal genauer ueberlegen..
    9. .. oder so wie ich es im Eingangspost beschrieben hatte, oder ganz anders..
     
    #4      
  5. r3nt5ch3r

    r3nt5ch3r ~ Allround pG ~

    Dabei seit:
    10.03.2006
    Beiträge:
    1.836
    Geschlecht:
    männlich
    Neue Betraege system fuer Forum [php]
    AW: Neue Betraege system fuer Forum
    PHP:
    1. [/b]
    2.  
    3. [quote="Doitsu, post: 939193"]Hm, wieso? Wenn ich beim Thread ein timestamp vom letzten Besuch habe, kann ich doch mit dem gucken, ob ein neuer Beitrag ist? Oder habe ich dich jetzt falsch verstanden?[/QUOTE]
    4.  
    5. Hmm ist grad nicht so einfach das zu verstehen^^ In deiner obigen Version gabs aber keinen Timestamp, von daher dachte ich du hast sowas nicht mit eingeplant...
    6.  
    7. [quote="Doitsu, post: 939193"]Nein, ich wollte eig fragen, ob man es bei cookies belassen koennte, eine cookie + MySQL loesung (habe ich mir auch mal ueberlegt, aber wusste nicht genau wie ich es umsetzen sollte, halt dass die cookies beim logout in eine MySQL Datenbank geschrieben werden, und beim login wieder ausgelesen werden ..) Werd ich mir vllt auch mal genauer ueberlegen..[/QUOTE]
    8.  
    9. Also für registrierte Benutzer, würde ich meine Variante nehmen zusätzlich für Gäste würde ich diese Informationen in einer Session speichern.
    10.  
    11. So als Tipp: es gibt genug kostenlose Foren, bei denen du die Vorgehensweise anschauen kannst^^
     
    #5      
  6. Doitsu

    Doitsu Aktives Mitglied

    Dabei seit:
    15.04.2009
    Beiträge:
    482
    Neue Betraege system fuer Forum [php]
    AW: Neue Betraege system fuer Forum
    PHP:
    1. [/b]
    2.  
    3. Na ja, der TS, wie ich es in der Tabelle nannte, wird dann aktualisiert wenn man den Topic nochmal aufruft, von daher kann ich das schon benutzen.. Meinen wir wohl (fast) das gleiche, & haben aneinander vorbei geredet..
    4.  
    5. [quote]Also für registrierte Benutzer, würde ich meine Variante nehmen zusätzlich für Gäste würde ich diese Informationen in einer Session speichern.
    6. [/quote]
    7.  
    8. Werd ich wohl auch so machen. :D
    9. [quote]So als Tipp: es gibt genug kostenlose Foren, bei denen du die Vorgehensweise anschauen kannst^^[/quote]
    10.  
    11. Naaa ja.. Hatte damals phpBB2 .. die haben auch cookies gesetzt. x)
    12.  
    13. Jedenfalls danke an euch 2.
     
    #6      
x
×
×