Summasummarum skrev
> Hej,
>
> Som subj. siger. En simpel menu er defineret i en tabel. Men hvordan
> trækker man den bedst ud?:
>
> Table menu har disse 3 kolonner: menuid parent menudesc
>
> Ok dette skulle være nemt? De menurækker som har parent=0 er
> "toplevel". Og så videre. Et ekempel:
>
> Denne menu skulle så komme i følgende rækkefølge:
>
> Items
> Itemno1
> Test
> Standings
> AC Milan
> Liverpool
>
> Så dette er mit spørgsmål: Er der ikke en måde at udtrække denne
> sorterings orden på en nem og smuk måde i SQL?
Jeg fik det meste af denne her i et lignende spørgsmål jeg havde for ikke så
lang tid siden.
[CODE]
sql = "SELECT menuid, parent, menudesc FROM [MenuTabellen]"
Set rs = Conn.Execute(sql)
sub vismenu(nuvParent)
for i=lbound(rsArray,2) to ubound(rsArray,2)
if rsArray(1,i) = nuvParent then
if rsArray(0,i) = ParentID then
Selected = "selected"
else
Selected = ""
End if
lvl = lvl + 1
if nuvParent = 0 then
lvl = 0
end if
niveau = String(lvl, 32)
niveau = Replace(niveau, " ", "  ")
Response.Write vbTab & "<option value=""" & rsArray(0,i) & """ "
& Selected & ">" & niveau & rsArray(2,i) & "</option>" & vbCrLf
vismenu rsArray(0,i)
if rsArray(0,i) <> nuvParent then
lvl = lvl - 1
end if
end if
next
end sub
if not rs.EOF then
rsArray=rs.GetRows()
lvl = 0
vismenu(0)
end if
[END CODE]
--
Mvh
Kasper Katzmann
------------------------------
Katzmann Consulting
http://www.katzmann.dk