Ich habe eine Tabelle People
. Ich möchte eine HTML-Tabelle anzeigen, die aus jedem übergeordneten Element besteht, mit allen darunter liegenden untergeordneten Elementen.
_________
|People |_____________________________________________
|-------------------------------------------------------|
| id | parent | firstname | lastname |
|-------------------------------------------------------|
| 1 0 James Donovan |
| 2 0 Jeffrey Williams |
| 3 0 Emmit Herring |
| 4 2 Carol Williams |
| 5 2 Sarah Williams |
| 6 1 Nikolai Donovan |
|_______________________________________________________|
Erwartetes Ergebnis:
________________________________________________
|Jeffrey Williams |
|------------------------------------------------|
| - Carol Williams |
| - Sarah Williams |
|________________________________________________|
|James Donovan |
|------------------------------------------------|
| - Nikolai Donovan |
|________________________________________________|
|Emmit Herring |
|------------------------------------------------|
|________________________________________________|
Wie baue ich ein assoziatives Array, das die richtige Ergebnismenge enthält, um darüber zu iterieren? Ich bin verwirrt über das richtige SQL und das richtige PHP, um das endgültige Array zu erstellen.
Insbesondere bin ich unsicher, wie ich eine hierarchische Beziehung zwischen zwei MySQL-Tabellen anzeigen kann. Soweit ich weiß, sind SQL-Ergebnismengen nicht multidimensional. Das Einfügen einer SQL-Abfrage in eine for
Schleife ist schrecklich für die Leistung. Was tun Sie also?
Ich schätze, dass ich nach einer Implementierung einer Adjazenzliste in MySQL suche.
Diese Frage sollte einfach sein, wenn ich alles in zwei Tabellen aufteilen könnte, aber leider muss ich bei dieser unüblichen Tabellenstruktur bleiben.