Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125

    disegnare ciclicamente lista albero

    Ciao a tutti.

    Mi perdo in una cosa forse semplice.

    Cicalndo sui recordi presi da db, vorrei disegnare un albero con le liste ordinate.

    Lasciamo da parte i css e i js che sono corretti, il mio problema sta nel generare dinamicamente il seguente codice

    Questo e' un esempio in HTML
    Codice PHP:

      
    <ul id="navigation">
            [*][
    url="?1"]Item 1[/url]
                <
    ul>
                    [*][
    url="?1.0"]Item 1.0[/url]
                        <
    ul>
                            [*][
    url="?1.0.0"]Item 1.0.0[/url]
                        [/list]
                    
                    [*][
    url="?1.1"]Item 1.1[/url]
                    [*][
    url="?1.2"]Item 1.2[/url]
                        <
    ul>
                            [*][
    url="?1.2.0"]Item 1.2.0[/url]
                            <
    ul>
                                [*][
    url="?1.2.0.0"]Item 1.2.0.0[/url]
                                [*][
    url="?1.2.0.1"]Item 1.2.0.1[/url]
                                [*][
    url="?1.2.0.2"]Item 1.2.0.2[/url]
                            [/list]
                        
                            [*][
    url="?1.2.1"]Item 1.2.1[/url]
                            <
    ul>
                                [*][
    url="?1.2.1.0"]Item 1.2.1.0[/url]
                            [/list]
                        
                            [*][
    url="?1.2.2"]Item 1.2.2[/url]
                            <
    ul>
                                [*][
    url="?1.2.2.0"]Item 1.2.2.0[/url]
                                [*][
    url="?1.2.2.1"]Item 1.2.2.1[/url]
                                [*][
    url="?1.2.2.2"]Item 1.2.2.2[/url]
                            [/list]
                        
                        [/list]
                    
                [/list]
            
            [*][
    url="?2"]Item 2[/url]
                <
    ul>
                    [*]<
    span>Item 2.0</span>
                        <
    ul>
                            [*][
    url="?2.0.0"]Item 2.0.0[/url]
                            <
    ul>
                                [*][
    url="?2.0.0.0"]Item 2.0.0.0[/url]
                                [*][
    url="?2.0.0.1"]Item 2.0.0.1[/url]
                            [/list]
                        
                        [/list]
                    
                    [*][
    url="?2.1"]Item 2.1[/url]
                        <
    ul>
                            [*][
    url="?2.1.0"]Item 2.1.0[/url]
                            <
    ul>
                                [*][
    url="?2.1.0.0"]Item 2.1.0.0[/url]
                            [/list]
                        
                            [*][
    url="?2.1.1"]Item 2.1.1[/url]
                            <
    ul>
                                [*][
    url="?2.1.1.0abc"]Item 2.1.1.0[/url]
                                [*][
    url="?2.1.1.1"]Item 2.1.1.1[/url]
                                [*][
    url="?2.1.1.2"]Item 2.1.1.2[/url]
                            [/list]
                        
                            [*][
    url="?2.1.2"]Item 2.1.2[/url]
                            <
    ul>
                                [*][
    url="?2.1.2.0"]Item 2.1.2.0[/url]
                                [*][
    url="?2.1.2.1"]Item 2.1.2.1[/url]
                                [*][
    url="?2.1.2.2"]Item 2.1.2.2[/url]
                            [/list]
                        
                        [/list]
                    
                [/list]
            
            [*][
    url="?3"]Item 3[/url]
                <
    ul>
                    <
    li class="open">[url="?3.0"]Item 3.0[/url]
                        <
    ul>
                            [*][
    url="?3.0.0"]Item 3.0.0[/url]
                            [*][
    url="?3.0.1"]Item 3.0.1[/url]
                                <
    ul>
                                    [*][
    url="?3.0.1.0"]Item 3.0.1.0[/url]
                                    [*][
    url="?3.0.1.1"]Item 3.0.1.1[/url]
                                [/list]
                            
                            [*][
    url="?3.0.2"]Item 3.0.2[/url]
                                <
    ul>
                                    [*][
    url="?3.0.2.0"]Item 3.0.2.0[/url]
                                    [*][
    url="?3.0.2.1"]Item 3.0.2.1[/url]
                                    [*][
    url="?3.0.2.2"]Item 3.0.2.2[/url]
                                [/list]
                            
                        [/list]
                    
                [/list]
            
        [/list] 

    io ciclo sulla mia gerarchia ad albero . Ci basta sapere che uso un campo
    isSlave = 0 ====> ramo cartella
    isSlave = 1 ====> ramo foglia


    Necessito del codice php che ciclando restituisca una stringa composta come il codice html (chiaramente non si sa quanti figli e cartelle...)

    Spero di esser stato chiaro.

    Ho provato cosi ma non e' corretto


    Codice PHP:
    public function getElementList($ownerEl)
        {

     while (
    $row $this->db->fetchObject($result))
                {
        
            if (
    $row->isSlave == 0){ 
                
    $str .= "<ul >[*]<a href='prodotti.php?id_art=".$row->Id."'>"
            
    ."".$row->name."</a>".$this->getElementList($row->Id)."[/list]";
                        
                    }
            
                }
            
    }



       <
    ul  id='navigation' style="float:left;" > echo $mioObj->getElementList(0);[/list] 




    come vedete richiamo ricorsivamente la funzione che appende UL E LI .... ma c'e' qualcosa che non quadra .

  2. #2
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    bisognerebbe ripercorrere in dati del db
    ramo = array di nodi
    nodo = arrai di rami (o al max due rami se è binario)
    sarebbe utile conoscere le table in modo da capire cosa e come vistare i dati, poi magari mi sbaglio ma così io non c'ho capito granchè tranne la struttura html
    If you think your users are idiots, only idiots will use it. DropBox

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.