JSON Struktur in Datentabelle abbilden und mit PHP ausgeben
Jochen
- php
Hallo,
für eine Clientanwendung will ich aus einer Datentabelle (PostgreSQL) ein JSON Objekt mit PHP erzeugen.
Mein Zielstruktur schaut in etwa so aus:
dataSource: [{
id: 0,
text: "POINT OF INTEREST (POIs)",
expanded: true,
spriteCssClass: "rootfolder",
items: [
{
id: 0,
text: "POI Group 1",
expanded: true,
spriteCssClass: "folder",
items: [
{ id: 3,
text: "Test 3",
isChecked: false,
imageUrl: "img/symbol/arch.png"
},
{ id: 4,
text: "Test 4",
isChecked: false,
imageUrl: "img/symbol/art-museum-2.png"
}
]
},
{
id: 0,
text: "POI Group 2",
expanded: false,
spriteCssClass: "folder",
items: [
{ id: 8,
text: "Test 8",
isChecked: false,
imageUrl: "img/symbol/communitycentre.png"
},
{ id: 9,
text: "Test 9",
isChecked: true,
imageUrl: "img/symbol/communitycentre_1.png"
}
]
}
]
}]
Jetzt könnte ich die Datentabelle einfach so aufbauen:
| id | parentid | name | ischecked | expand | symbol |
Das root element bekommt die parentid 0 und alle anderen die id ihres Eltern Elementes.
Wie erzeuge ich nun aus so einer einfachen Datenstruktur mein JSON bzw. die Baumstruktur?
Mit json_encode() ist das ja erst mal nur eindimensional
$resultArray = pg_fetch_all($result);
echo json_encode($resultArray);
Oder muss ich meine Tabelle anders aufbauen bzw. gibts da einen anderen schlaueren Ansatz?
Danke für jeden Hint
Jochen
Tach!
für eine Clientanwendung will ich aus einer Datentabelle (PostgreSQL) ein JSON Objekt mit PHP erzeugen.
Die Frage ist, ob in der Datenbank die Einzelteile verfügbar sein müssen, oder ob das ganze Gebilde nicht als ein Serialized Large Object (SLOB) speichern kann.
Wie erzeuge ich nun aus so einer einfachen Datenstruktur mein JSON bzw. die Baumstruktur?
Indem du die Elemente in der passenden Reihenfolge sortiert abfragst und beim Fetchen (oder später) an der für sie vorgesehenen Stelle im Baum einhängst.
Oder muss ich meine Tabelle anders aufbauen bzw. gibts da einen anderen schlaueren Ansatz?
RDBMSe liefern üblicherweise flache Ergebnismengen. Es sieht mir nicht so aus, als ob PostgreSQL da anders wäre.
dedlfix.
Hallo!
Oder muss ich meine Tabelle anders aufbauen bzw. gibts da einen anderen schlaueren Ansatz?
Wenn ich "Datenbank" und "Baum" höre, schaltet mein Hirn automatisch auf "nested sets".
Hier ein Tutorial.
Matze
Warum mag das Forum meinen Link nicht?
Tach!
Hier ein Tutorial.
Warum mag das Forum meinen Link nicht?
Weil du http:// vergessen hast.
dedlfix.