Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    lista categorie con funzione ricorsiva

    ciao,

    ho il seguente problema che mi sta facendo dannare da qualche giorno, cercando nel forum ho visto che che se ne era già parlato, ma in nessuna delle soluzioni proposte ho trovato risposta a quello che vorrei fare io.

    ho una tabella per gestire illimitare categorie e sottocategorie:

    id_membri_cat | cat_parent_id | categoria_it

    1 | 0 | Direttivo
    2 | 0 | Staff
    3 | 1 | Presidente
    4 | 1 | Vice presidente
    5 | 1 | Consigliere
    6 | 2 | Presidente

    vorrei creare una struttura ad albero utilizzando gli <ul>[*]

    che apparisse nel seguente modo dandogli un id in entrata, ad esempio 1 e che includesse per ogni categoria figlia un <ul>

    <ul>[*]Direttivo[*]
    <ul>[*]Presidente[*]Vice Presidente[*]Consigliere[/list]
    [/list]


    cercando qua e là ho trovato una funzione basilare per gestire la funzione ricorsiva, ma non riesco ad adattarla al mio scopo:
    Codice PHP:
    function mostracategorie (idcat)


      
    query="SELECT * FROM membri_cat WHERE id_membri_cat = " idcat
        set rs 
    server.createobject("adodb.recordset")
        
    rs.open queryconnDB11
        
    if not rs.BOF and not rs.EOF then

        response
    .write "[*]"
        
    response.write rs("categoria_it")
        
    response.write ""
        
    query="SELECT * FROM membri_cat WHERE cat_parent_id = " idcat
        set rsfigli
    =connDB.execute(query)
        while 
    not rsfigli.eof
            
            mostracategorie
    (rsfigli("id_membri_cat"))

          
    rsfigli.movenext
        wend
      end 
    if
    end function 
    dove in pratica fa si vedere tutte le categorie e sottocategorie, ma senza distinzioni di gerarchia.

    grazie

  2. #2
    quale è il problema dello script postato?

  3. #3
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    che non apre <ul> per ogni sottocategoria
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  4. #4
    2 sono i problemi:

    il primo è che mi fa vedere nella lista anche la categoria madre principale.

    ad esempio la cat principale è DIRETTIVO e le figlie sono PRESIDENTE e VICE PRESIDENTE.

    la funzione mi restituisce una lista come questa:
    [*]DIRETTIVO[*]PRESIDENTE [*]VICE PRESIDENTE

    mentre io vorrei che apparisse
    [*]PRESIDENTE [*]VICE PRESIDENTE

    secondo problema:

    se ho una categoria madre ANIMALI sottocategorie RETTILI, MAMMIFERI, a loro volta LUCERTOLE, CANI e GATTI, dove nei gatti ho altre 2 sottocategorie PERSIANI e SIAMESI

    nel caso volessi vedere la categoria dei mammiferi mi da:

    [*]MAMMIFERI[*]GATTI[*]PERSIANI[*]CANI[*]SIAMESI

    io vorrei una cosa del tipo:
    [*]CANI[*]GATTI[*]
    <ul>[*]PERSIANI[*]SIAMESI[/list][*]

  5. #5
    nessuno ha idea di come posso modificare la funzione?

  6. #6

  7. #7
    access, ma la stessa cosa la dovrei fare anche il SQL server

  8. #8
    con sql server puoi fare delle cose che con access non puoi fare, per questo te l'ho chiesto

  9. #9
    capisco, ma credo che quello che devo fare io giri attorno alla funzione in quanto devo farle capire quando passo ad un livello successivo dell'albero e farle stampare a schermo gli <ul>[/list]

  10. #10
    non è proprio così. per come è fatta la funzione (giustamente) viene sviluppato ogni ramo sino alla fine, mentre tu vuoi una stampa per livelli

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.