Træstruktur menu hentet fra MySQL DB
Hej,Nu har jeg i lang tid været lidt utilfreds med min nuværende måde at udskrive min menu på, og efter at have læst flere artikler om emnet må jeg give fortabt. Jeg kan simpelthen ikke overskue hvordan det gøres smartere.
Min tabel ser således ud:
pid # parent_pid # menu_sortorder # node
1 # 0 # 1 # 0
2 # 0 # 2 # 0
3 # 0 # 3 # 0
4 # 0 # 4 # 0
5 # 0 # 5 # 0
6 # 0 # 6 # 0
7 # 1 # 1 # 1
8 # 1 # 2 # 1
9 # 8 # 1 # 2
10 # 8 # 1 # 2
"pid" er bare et auto-id, "parent_pid" er den enkelte pids parent id (og altså 0 hvis der ikke er en parent), "menu_sortorder" er den rækkefølge de står i og endelig er "node" det node-level den enkelte pid står på. Ud fra overstående tabel skulle der gerne komme dette ud:
Velkommen
- Dansk sub
- dansk sub sub
- dansk asdasd
- Dansk sub 2
Dansk Hovedpunkt 2
Det går også fint i øjeblikket, men jeg bruger en rekursiv funktion hvilket betyder at jeg får en masse sql opslag og det vil jeg egentlig gerne slippe for. Nuværende kode ser (meget pseudo agtigt) ud sådan her
Sub subWriteMenu(med parametre)
strSelectMenuItemsSQL = SQL-sætning...
Set objMenuRS = Conn.Execute(strSelectMenuItemsSQL)
Do While Not objMenuRS.EOF OR objMenuRS.BOF
Response.Write menupunkt info..
Call subWriteMenu(med parametre)
objMenuRS.MoveNext
Loop
objMenuRS.Close
Set objMenuRS = Nothing
End Sub
Det er simpelthent for dumt jo, så 200 point til den der kan hjælpe mig.
