Hans: / PHP Realisierung einer aktuellen Threadanzeige im Board

Hi Leute,

ihr kennt doch sicher die Anzeige von Threads in Boards, in denen Threads, auf die am aktuellsten geantwortet wurde, nach oben gereiht sind.

Wenn jedoch ein neuer Thread erstellt wurde, gibt es ja  noch keine Antwort darauf (er würde also ganz hinten stehen).
Wie könnte ich ihn geschickt einordnen, dass er zwar oben steht, Threads mit neuesten Antworten jedoch auch oben angereiht werden?

danke,
Hans

  1. Hi Hans,

    gib doch jedem Thread (denke mal, du hast sie in ner Db) ein "Aktualisierungsdatum". Jedesmal, wenn geantwortet wird, wird dieses Datum auf die aktuelle Zeit gesetzt, ebenso, wenn das Thread erzeugt wird. Dann musst du dir nur noch alles nach Datum sortiert ausgeben lassen.

    MFG

    Philipp

  2. Hallo Hans,

    Wenn jedoch ein neuer Thread erstellt wurde, gibt es ja  noch keine Antwort darauf (er würde also ganz hinten stehen).

    Du solltest Dein Datenmodell überdenken. Trenne Dich von dem Konzept der »Antworten« (wenn Du schon ein Board verwendest) und denke Dir alles als
    Nachrichten - und die erste Nachricht sollte dann genauso gespeichert
    werden, wie der Rest der Nachrichten.

    Vereinfachtes Beispiel:

    Deine Tabelle für Topics hat die Felder topicid, title
    Deine Tabelle für die Nachrichten hat die Felder messageid, topicid, message, message_date

    Beim Anlegen eines Topics wird in die Topic-Tabelle der Topic eingetragen und in die Nachrichten-Tabelle die erste Nachricht. Beim Antworten auf einen Topic wird die Antwort in die Nachrichtentabelle geschrieben.

    Klar, was ich meine?

    Viele Grüße,
    Christian

    1. Hi,

      alles klar, habe ich vertanden...
      Wäre mein System da gegenüber denn mit Nachteilen verbunden?

      Danke,

      Hans

      1. Hallo Hans,

        Wäre mein System da gegenüber denn mit Nachteilen verbunden?

        Nachdem ich Dein genaues System nicht kenne, sondern nur darauf schließen kann, dass es _nicht_ so ist, wie ich es beschrieben habe, kann ich Dir in der Hinsicht leider nichts sagen. Erläre doch mal Dein bisheriges Konzept - dann kann ich sicherlich etwas dazu sagen.

        Viele Grüße,
        Christian