Matti Maekitalo: Wie funktioniert die Gliederung in diesem Forum?

Beitrag lesen

Tach auch.

Für einen Verband in meiner Stadt soll ich ein Forum anfertigen...

Mittlerweile grüble ich mir einen Ast ab, wie hier in diesem Forum, das ich mir als lobenswertes Vorbild nehme, die ganzen Antworten zu den Fragen sortiert und vor allem so geordnet in die Datenbank eingelesen werden das
hinter eine artgerechte Struktur im Thread entsteht und bsp. eine Anmerkung zu einer Antworz auf ein Thema nicht irgendwo anders zu finden ist.

Also bitte helft mir, ich komm da irgendwie nicht weiter!

Ein Forum hat, grob gesagt, eine Baumstruktur.
Dies bedeutet insbesondere, dass jedes Nachfolgeposting einen Vorgänger hat.
Die Threadstarter haben natürlich keinen Vorgänger (oder das Posting "Hauptseite", wenn du das so sehen willst).

Eine einfache Datenstruktur wäre also (schon in Schema für deine DB gedacht):
id | parent_id | message | ... (weitere Eigenschaften)
1  | NULL      | Originalposting
2  | 1         | erste Antwort auf das OP
3  | 1         | zweite Antwort auf das OP
4  | 2         | Antwort auf Antwort 1
5  | 2         | Antwort auf Antwort 1

Wenn du den Teilen noch Zeitstempel gibst, kannst du den Baum dann ganz einfach durchhangeln, um ihn anzuzeigen.

Hauptseite: frage alle Postings ab, die keine parent_id haben und zeige sie dem Zeitstempel nach sortiert an.
Um den Baum anzuzeigen, zeige in der ersten Ebene alle Postings an, die als parent_id die ID des Originalposts an, und verfahre dann rekursiv, um deren kindknoten darzustellen.

Das ganze ist noch nicht sonderlich effizient (mir fallen da spontan einige Verbesserungen ein), aber vielleicht ist es ein erster Denkansatz für dich.

Bis die Tage,
Matti