Mit dem Konzept bin ich mir auch noch nicht so ganz schlüssig! Aber dein Ansatz verstehe ich nicht ganz!
Die Tabelle hat am Anfang 3 Spalten mit ID, pid,tid wobei p=posting,t=thread steht.
Die pid kann man erstmal vernachlässigen.
ID ist immer vorlaufend und tid beschriebt ein neuen Beitrag im Forum der sich bei jedem posting nicht ändert. Um das zu erkennen habe ich mir gedacht das Wenn ID = tid ist, handelt es sich um den Anfang eines neuen Beitrags. Aber über andere Denkansätze wäre ich nicht abgeneigt.
Also:
ID=25, tid=0 = Neuer Beitrag im Forum
ID=40, tid=25 = Antwort auf Beitrag 25
ID=47, tid=40 = Antwort auf Beitrag 40
ID=50, tid=25 = Antwort auf Beitrag 25
Einträge deren tid = 0 sind neue Beiträge (Anfang eines neuen Beitrags)
Beiträge deren tid > 0 sind sind Antworten auf einen Beitrag
Mit einer rekursiven Funktion kannst Du die Stuktur durchlaufen und hierarchisch ausgeben.
Aus performance Gründen wäre es evtl noch nützlich eine Sortierung und die Id des ersten Beitrags mit zu speichern, dann kannst Du Beiträge mit einem Querry flach aus der DB holen aund ausgeben:
ID=25, tid=0, sort=1, root=0 = Neuer Beitrag im Forum
ID=40, tid=25, sort=2, root=25 = Antwort auf Beitrag 25
ID=47, tid=40, sort=3, root=25 = Antwort auf Beitrag 40
ID=50, tid=25, sort=4, root=25 = Antwort auf Beitrag 25
Flach:
|
HTML Code
|
1
2
3
4
|
Beitrag 25
Beitrag 40
Beitrag 47
Beitrag 50
|
Hierarchisch:
|
HTML Code
|
1
2
3
4
|
Beitrag 25
Beitrag 40
Beitrag 47
Beitrag 50
|
melwood