Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    sempre a proposito di menu dinamici (in asp)

    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:

    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
    ho provato ad usare dei contatori, ma sicuramente ho sbagliato qualcosa, perchè mi si incasina tutto.... enon ci capisco piu' niente......
    (considerando poi la funz. ricorsiva..... dove anche le variabili vengono passate e ripassate...)

    grrrrr



    grazzie mille a chi mi da un suggerimento


    The Original WebMasterOne !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  2. #2
    up

    Thanks
    The Original WebMasterOne !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  3. #3
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    aggiungi un campo nella tabella che "staticizza" la geriarchia
    fra l'alto poi ti sarebbe comodo per usarlo come ordinamento e/o raggruppamento dei dati.
    Tutti vogliono parlare, nessuno sa ascoltare.

  4. #4
    avevo già un campo (che ho chiamato Order_sort) che mi dava l'ordinamento dei menu (che avevo tralasciato prima)

    codice:
    id       nome           descrizione     link    parent_id   Order_sort
    ------------------------------------------------------------------
    1       menu 1		xxx		#	0            1
    2       menu 2		xxx		#	0            2
    3       menu 3		xxx		#	0            3
    4       menu 4		xxx		#	0            4
    5       menu 5		xxx		#	0            5
    6       submenu 1 di 1	xxx		#	1            1
    7       submenu 2 di 1	xxx		#	1            2
    8       submenu 3 di 1	xxx		#	1            3
    9       submenu 4 di 1	xxx		#	1            4
    10      submenu 1 di 2	xxx		#	2            1
    11      submenu 2 di 2	xxx		#	2            2
    12      submenu 3 di 2	xxx		#	2            3
    13      submenu 4 di 2	xxx		#	2            4
    14      submenu 5 di 2	xxx		#	2            5
    15      submenu 1 di 6	xxx		#	6            1
    e mi serviva per permettere all' utente, oltre a definire il menu, anche a scegliere l'ordine di visualizzazione....

    se non c'e' sistema secondo vioi di ricavare i numeri che mi servono con variabili all'interno della sub, vedrò di cambiare la struttira del dbase....
    ma se riuscivo a farlo nello script, preferivo
    The Original WebMasterOne !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  5. #5
    senza contare che se dovessi scriverli nel database (in un campo) devo sempre usare una funzione ricorsiva o qualcosa del genere, perchè i menu' saranno interamente gestibili da web (asp)
    quindi secondo me, meglio farlo qui, no ?
    The Original WebMasterOne !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  6. #6
    up
    The Original WebMasterOne !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  7. #7
    una domanda ...
    Quando risolvete i problemi nn è che postate le soluzioni ?

  8. #8
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    no, il mio suggerimento era un altro.
    se staticizzi la geriarchia è tutto molto più performante e risolvi quello che chiedi.
    Fatti una funzione per aggiornare la gerarchia automaticamente: a secondo del db potresti usare addirittura un trigger.
    Tutti vogliono parlare, nessuno sa ascoltare.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.