Stefan: Denkanstoß... Nachrichten verlauf bei PM System realisieren

Hallo,

ich grübel nun schon einige Zeit darüber wie ich am bessten einen Nachrichten verlauf bei einem Seiten internen Message System erstellen kann. Also zum Beispiel: Eine Nachricht wird verschickt, auf diese wird geantwortet und auf die Antwort wird wiedrum geantwortet. Iwe könnte ich das jetzt realisieren, dass er alle Alle Message aus der Datenbank holt, die zusammen gehören?

Ich bin für jeden Tipp offen. Vielen Dank schonmal im vorraus!

  1. 你好 Stefan,

    Also zum Beispiel: Eine Nachricht wird verschickt, auf diese wird geantwortet und auf die Antwort wird wiedrum geantwortet. Iwe könnte ich das jetzt realisieren, dass er alle Alle Message aus der Datenbank holt, die zusammen gehören?

    Speichere die ID der Vorgänger-Nachricht bei der Nachricht mit. Zusätzlich würde ich noch eine "Thread-ID" speichern, zur schnellen Selektierung.

    再见,
     克里斯蒂安

    --
    Bauer sucht Frau! | Ich bin ja eigentlich kein Serien-Junkie…
    Wenn gewöhnliche Menschen Wissen erlangen, sind sie weise. Wenn Weise Einsicht erlangen, sind sie gewöhlnliche Menschen.
    http://wwwtech.de/
    1. Speichere die ID der Vorgänger-Nachricht bei der Nachricht mit.

      Wie würdest du das am sinnvollsten dann in die Datenbank packen? An ein ID der vorherigen Nachricht speichern habe ich auch schon gedacht aber mir sind leider keine sinnvollen Möglichkeiten eingefallen, wie ich das fortlaufend am bessten in die Datenbank schreibe.

      1. Speichere die ID der Vorgänger-Nachricht bei der Nachricht mit.

        Wie würdest du das am sinnvollsten dann in die Datenbank packen? An ein ID der vorherigen Nachricht speichern habe ich auch schon gedacht aber mir sind leider keine sinnvollen Möglichkeiten eingefallen, wie ich das fortlaufend am bessten in die Datenbank schreibe.

        Jede Nachricht hat eine Unique ID. Erweitere deinen Datensatz um die ParentID und speichere beim Antworten jeweils die ID der Nachricht, auf die geantwortet wird als ParentID.

        Alternativ kannst Du eine RootID hinterlegen, die jeweils der ID entspricht, welche die erste Nachricht des Verlaufs ist. Neue Nachricht bedeutet also RootID = NachrichtenID und bei einer Antwortnachricht RootID = RootID der zu beantwortenden Nachricht. Beim Auslesen nimmst du alle Nachrichten mit der entsprechenden RootID und sortierst sie nach Speicherdatum (Versendedatum) der Nachrichten.

        Liebe Grüße,
        Chris

        1. Der Tip mit der rootID ist echt gut... hätte man auch selber drauf kommen können. :) Danke für diesen genialen Denkanstoß... ich werde mich gleich mal ranmachen und das umsetzen!

          1. Der Tip mit der rootID ist echt gut... hätte man auch selber drauf kommen können. :) Danke für diesen genialen Denkanstoß... ich werde mich gleich mal ranmachen und das umsetzen!

            Ich denke darauf wollte Christian schon mit der Thread-ID hinweisen ;)

            Sofern es bei deinem System wirklich wichtig ist, den Bezug zu den Nachrichten zu haben, würde ich sowohl eine Root-Id/Thread-Id als auch die Referenz-Id/Parent-Id abspeichern. Schaden kann es sicher nicht.

      2. echo $begrüßung;

        Speichere die ID der Vorgänger-Nachricht bei der Nachricht mit.
        Wie würdest du das am sinnvollsten dann in die Datenbank packen? An ein ID der vorherigen Nachricht speichern habe ich auch schon gedacht aber mir sind leider keine sinnvollen Möglichkeiten eingefallen, wie ich das fortlaufend am bessten in die Datenbank schreibe.

        Eine ID dient allein zur eindeutigen Identifizierung eines Datensatzes. Welchen Wert diese ID hat, und ob der aufsteigend, absteigend oder zufällig ist, ist komplett irrelevant. Hauptsache die Werte sind eindeutig.

        Jede Nachricht ist ein Datensatz und hat ihre eigene ID. Du zeigst eine Nachricht an, die du aus der Datenbank geholt hast. Sie ist da als eine von mehreren Nachrichten an einen bestimmten Benutzer hinterlegt worden. Wie das passierte sei erstmal egal. Beim Ablegen bekam sie eine ID zugewiesen. Beim Anzeigen weißt du natürlich, welche ID das ist. Du musst zusammen mit dem neuen Datensatz der Antwort ebendiese ID in einem Feld für die Referenz-ID ablegen.

        Allerdings würde ich mir die Referenzierung sparen und die Nachrichten allein anhand der Uhrzeit sortiert ausgeben. Welche Nachricht worauf Bezug nimmt, erkennen bei einer Zwei-Personen-Kommunikation die Beteiligen ja am Inhalt und auch anhand der zeitlichen Reihenfolge.

        echo "$verabschiedung $name";