Buongiorno a tutti
Allora....
io ho un dbase strutturato come segue:
(ho messo anche alcuni record)
codice:id nome descrizione link parent_id ------------------------------------------------------------------ 1 menu 1 xxx # 0 2 menu 2 xxx # 0 3 menu 3 xxx # 0 4 menu 4 xxx # 0 5 menu 5 xxx # 0 6 submenu 1 di 1 xxx # 1 7 submenu 2 di 1 xxx # 1 8 submenu 3 di 1 xxx # 1 9 submenu 4 di 1 xxx # 1 10 submenu 1 di 2 xxx # 2 11 submenu 2 di 2 xxx # 2 12 submenu 3 di 2 xxx # 2 13 submenu 4 di 2 xxx # 2 14 submenu 5 di 2 xxx # 2 15 submenu 1 di 6 xxx # 6
Ho fatto poi una funzione ricorsiva per tirarmi fuori i dati e ricostruirmi il menu gerarchicamente
e pare che funzioni
codice:<% conn open .................................. Sub getTree(id,livello) Set rs = Server.CreateObject("ADODB.Recordset") rs.Open "SELECT * FROM menu WHERE parent_id =" & id, Conn ,3,3 do while NOT rs.EOF conta = conta + 1 response.write "livello =" & liv & " - conta =" &conta & " - " & rs("parent_id") & "_" & rs("nome") & " " Call getTree(rs("id"),livello+1) rs.movenext loop rs.Close Set rs = Nothing End Sub livello = 0 Call getTree(0,livello+1) conn close......................................... %>
adesso mi sono arenato su un punto....
la struttura è del tipo: (è un esempio)
menu 1
\-->submenu 1
\-->submenu 2
\------>submenu 2 1
\------>submenu 2 2
\---------->submenu 2 2 1
\---------->submenu 2 2 2
\---------->submenu 2 2 3
\------>submenu 2 3
\------>submenu 2 4
\-->submenu 3
menu 2
\-->submenu 1
\-->submenu 2
\-->submenu 3
\-->submenu 4
menu 3
me la stampa correttamente, ma dovrei fare in modo che oltre al nome del menù mi scriva anche la numerazione con questo criterio (serve per lo script javascript:
ho provato ad usare dei contatori, ma sicuramente ho sbagliato qualcosa, perchè mi si incasina tutto.... enon ci capisco piu' niente......codice:1 1 1 1 2 1 2 1 1 2 2 1 2 2 1 1 2 2 2 1 2 2 3 1 2 3 1 2 4 1 3 2 2 1 2 2 2 3 2 4 3
(considerando poi la funz. ricorsiva..... dove anche le variabili vengono passate e ripassate...)
grrrrr
grazzie mille a chi mi da un suggerimento
![]()


Rispondi quotando