Originariamente inviato da paplo
per costruire un albero genealogico.
ricavato l'array lo devo dare in pasto alla classe che mi crea il pdf con l'albero.![]()
Originariamente inviato da paplo
per costruire un albero genealogico.
ricavato l'array lo devo dare in pasto alla classe che mi crea il pdf con l'albero.![]()
E allora vedi che va benissimo il metodo che ti ho postato?
L'array che restituisce è già indentato.
Mostrare qualcosa tipo questo:
Solo senza tutti quei numerini di fiano (l'array, infatti, restituisce anche l'id e i flag sx e dx del nodo).codice:Gennaro( 26 ) [ 0 , 1 ] Massimiliano( 1 ) [ 3 , 56 ] Francesco( 2 ) [ 4 , 55 ] Mario( 3 ) [ 5 , 8 ] Luigi( 4 ) [ 6 , 7 ] Fabio( 5 ) [ 9 , 10 ] Piero( 6 ) [ 11 , 54 ] Gianni( 7 ) [ 12 , 51 ] Michele( 9 ) [ 13 , 14 ] Luca( 8 ) [ 52 , 53 ]
Ora non so come funziona la stampa di un pdf da php però ti basterà scorrere l'array e stamparlo per ottenere l'intero albero già indentato come sopra.
Per il metodo di andr3a non so come funziona (ho fatto delle prove ma per ora ancora niente)
io ho provato a stampare l'array secondo il tuo metodo, ma non risultava identato
l'output con print_r è
array('key1'=>'value1','key2'=>'value2')
questo è l'output del tuo metodo
Codice PHP:
Array (
[0] => Array ( [id] => 1 [nome] => Domenico [sx] => 1 [dx] => 30 )
[1] => Array ( [id] => 7 [nome] => Sante [sx] => 8 [dx] => 29 )
[2] => Array ( [id] => 8 [nome] => Giovanni [sx] => 9 [dx] => 24 )
[3] => Array ( [id] => 11 [nome] => Renato [sx] => 10 [dx] => 11 )
[4] => Array ( [id] => 12 [nome] => Santina [sx] => 12 [dx] => 13 )
[5] => Array ( [id] => 13 [nome] => Dino [sx] => 14 [dx] => 15 )
[6] => Array ( [id] => 15 [nome] => Albano [sx] => 18 [dx] => 23 )
[7] => Array ( [id] => 16 [nome] => Paolo [sx] => 19 [dx] => 20 )
[8] => Array ( [id] => 17 [nome] => Luisa [sx] => 21 [dx] => 22 )
[9] => Array ( [id] => 9 [nome] => Primo [sx] => 25 [dx] => 26 )
[10] => Array ( [id] => 10 [nome] => Lisetta [sx] => 27 [dx] => 28 )
)
Lo so cosa dà in output il mio metodo!
Con questo codice riesci ad ottenere l'albero come ti ho descritto (compreso di flags sx e dx e id):
Codice PHP:
$tree = $categories->getTree();
for ($i = 0 ; $i < count($tree) ; $i++)
{
echo $tree[$i]['name'] . '( ' . $tree[$i]['id'] . ' ) [ ' . $tree[$i]['sx'] . ' , ' . $tree[$i]['dx'] . ' ]
';
}
putroppo non ci siamo capiti.Originariamente inviato da mircov
Lo so cosa dà in output il mio metodo!
Con questo codice riesci ad ottenere l'albero come ti ho descritto (compreso di flags sx e dx e id):
va bè ... ritento e ritento a scrivere il codice giusto![]()
ma scusami, devi stampare un albero come questo?
Il problema dove sta? Io non riesco a capire perchè vuoi un array come quello che dici tu!codice:Gennaro( 26 ) [ 0 , 1 ] Massimiliano( 1 ) [ 3 , 56 ] Francesco( 2 ) [ 4 , 55 ] Mario( 3 ) [ 5 , 8 ] Luigi( 4 ) [ 6 , 7 ] Fabio( 5 ) [ 9 , 10 ] Piero( 6 ) [ 11 , 54 ] Gianni( 7 ) [ 12 , 51 ] Michele( 9 ) [ 13 , 14 ] Luca( 8 ) [ 52 , 53 ]![]()
non devo solo stamparlo.
lo devo memorizzare in un array che poi passerò ad un metodo che mi disegnerà un albero gen. su un pdf
Quindi quella struttura è per il disegno!?
Ok, appena posso mi ci metto un po' e vedo se riesco ad ottenere quello che vuoi. Solo un ultima richiesta:
posti le tabelle che utilizzi? Così posso fare delle prove (io come chiunque voglia provarci ovviamente!). Ciao!
il bello della programmazione e' quando una cosa puo' essere utilizzabile a prescindere dalla quantita' di dati o tipo di tabelle, in questo caso ... come e' per la mia classe, che non vincola in nessun modo se non per una tabella di indicizzazione, la "tree" ...
quindi sapendo che i campi saranno comunque 4
ovvero 3 per la tree ( id, sx, dx )
e 1 per l' altra tabella ( tree_id )
non ti resta che fare una funzione basata su questi campi in grado di prendere il nome dei campi, come indice dei vari branches e relativi dati, indipendentemente da quanti saranno
facci sapere qualcosa![]()