Wie implementiere ich ein verschachteltes Kommentarsystem?

8

Was wäre der ideale Weg, um so etwas zu implementieren? Die Idee, die ich gerade in meinem Kopf habe, ist eine Kommentartabelle zu haben und jeder Kommentar hat eine Thread-ID und eine Eltern-Kommentar-ID. Der Thread-Bezeichner würde angeben, zu welchem ​​Thread der Kommentar gehört, und würde eine einfache MySQL-Anweisung mit der WHERE-Klausel ermöglichen. Jeder Kommentar würde einen auto_increment-Bezeichner wie beim üblichen Datenbankentwurf haben, und die übergeordnete Bezeichnerspalte würde anzeigen, unter welchem ​​Kommentar dieser Kommentar ein Kind ist.

Diese Art von Design würde den PHP-Aspekt der Dinge am meisten betonen, da es nur ein SQL-Aufruf wäre, um alle Kommentare eines Threads zu erhalten. Eine andere Implementierung, die ich fand, war eine SQL-Abfrage für jede Verschachtelungsebene. Diese Lösung würde die SQL-Seiten der Dinge betonen.

Wie würde SO das umsetzen? Momentan bin ich ratlos, weil ich nicht sicher bin, welche Lösung die "beste" Lösung ist, und ich bin immer noch ziemlich neu im Datenbankdesign, PHP und JQuery.

Danke.

    
John Smith 12.03.2011, 04:30
quelle

1 Antwort

6

Sehen Sie sich Hierarchische Daten in MySQL verwalten an, insbesondere den Abschnitt namens "Nested Set Model" ". Sie müssen vielleicht ein paar Mal durchlesen, bevor es Sinn macht (ich tat), aber es ist es wert. Es ist eine sehr leistungsfähige Möglichkeit, mit verschachtelten Daten zu arbeiten und die gewünschten Teile mit nur einer Abfrage abzurufen.

Auf der anderen Seite müssen Sie für Updates viel mehr tun.

    
Brad Mace 12.03.2011, 05:15
quelle

Tags und Links