[PHP/mySQL] Hierarchische opbouw o.b.v. twee lijsten

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • radem205
  • Registratie: Juni 2002
  • Laatst online: 02-02-2022
Ha,

Ik loop vast met de volgende uitdaging:

Voor een website wil ik een uitklapbare boomstructuur maken van een begroting op basis van twee tabellen in MySQL.

Tabel 1: Coderingsstructuur

CodeOmschrijving
2AOmschrijving
2A01Omschrijving
2A02Omschrijving
2A0201Omschrijving
2A0202Omschrijving
2A03Omschrijving
3BOmschrijving
3B01Omschrijving
3B02Omschrijving
3B03Omschrijving
3B0301Omschrijving
3B0302Omschrijving


Tabel 2: Items in de begroting

CodeOmschrijvingTotaalprijs
2A0202Post 110000
3B0301Post 220000
3B0302Post 3150000


Wat ik uiteindelijk wil is de volgende output (uiteindelijk wil ik ook bij elke groep de subtotalen, maar dat is een volgende stap):

- 2A: Omschrijving
----- 2A02: Omschrijving
------------- 2A0202 Omschrijving
------------------- 2A0202 Post 1 : 10000 euro
- 3B: Omschrijving
----- 3B03: Omschrijving
------------- 3B0301 Omschrijving
------------------- 3B0301 Post 2 : 20000 euro
------------- 3B0302 Omschrijving
------------------- 3B0302 Post 3 : 150000 euro


Zoals je hopelijk kan zien, wordt de boomstructuur bepaald door de coderingen in tabel 1. Echter, de output moet gebaseerd zijn op de gegevens in tabel 2.

Ik kom er momenteel zelf niet goed uit. Ik heb onderzoek gedaan naar recursive arrays, maar ik weet totaal niet of ik hiermee in de goede richting denk.

Kan iemand mij op weg helpen?

Acties:
  • 0 Henk 'm!

Verwijderd

Je haalt de data op met een query als dit:
SQL:
1
SELECT * FROM Coderingsstructuur LEFT OUTER JOIN Items ON Coderingsstructuur.code=Items.code


Alleen de weergave zul je met iets als PHP moeten oplossen. Je zou bij het ophalen van de gegevens een hierarchisch array kunnen opbouwen, en die recursief doorlopen om de output de genereren - op die manier kun je ook de subtotalen berekenen.