nessuno?![]()
nessuno?![]()
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
Cinque3
che e' sta roba ?
sicuro che esiste il sottolivello Cinque3 ??? :master:
..... e quindi doveva essere
addSubLevel( Array( 'Uno', 'Due', 'Tre', 'Quattro', 'Cinque' ), '3', ':: descrizione ::' )
P.S. mi fa piacere che alla fine tu abbia scelto la mia soluzione, spero che fino ad ora si sia comportata bene e per affidabilita' e per efficenza e velocita' di risultati![]()
si si è stata sempre efficientissima! ancora complimenti e grazie![supersaibal]Originariamente inviato da andr3a
Cinque3
che e' sta roba ?
sicuro che esiste il sottolivello Cinque3 ??? :master:
..... e quindi doveva essere
addSubLevel( Array( 'Uno', 'Due', 'Tre', 'Quattro', 'Cinque' ), '3', ':: descrizione ::' )
P.S. mi fa piacere che alla fine tu abbia scelto la mia soluzione, spero che fino ad ora si sia comportata bene e per affidabilita' e per efficenza e velocita' di risultati[/supersaibal]
cerco di spiegare meglio il mio problema; sto "tentando" di fare l'area amministrativa per l'inserimento di un nuovo livello, e nella fuzione addSubLevel, mi costruisco, come puoi vedere da sopra l'intera stringa argumetToAdd, che è un'unica stringa costruita e formattata come serve; un esempio potrebbe essere così: 'livello1', 'livelo2', 'livello3' tutto dentro una semplice stringa [ è forse il fatto che è un'unica stringa che crea problemi? ]
la variabile Cinque3 là stava ad indicare il nome del nuovo livello da aggiungere.
quello che non riesco a spiegarmi e a capire è perché questa forma non funzioni:
$dbtree->addSubLevel( Array( $argument ), $argumentToAdd, ':: descrizione ::' );
secondo me dovrebbe funzionare, perché se io faccio scrivere a video la seconda parte, mi stampa correttamente:
addSubLevel( Array( 'Uno', 'Due', 'Tre', 'Quattro' ), 'Cinque3', ':: descrizione ::' )
ma non mi inserisce niente![]()
il punto è che se invece io prendo la stringa che mi genera e la inserisco da codice manualmente funziona correttamente.
mi viene quindi da pensare che il fatto che creandola dinamicamente non riesco a farla funzionare perché passo i valori direttamente tutti dentro la stringa $argument.
se così fosse, volevo chiederti, avresti un metodo da suggerirmi per poter fare quello che chiedo?
ti ringrazio!![]()
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
ora dimmi sinceramente se secondo te queste 2 cose sono uguali[supersaibal]Originariamente inviato da 13manuel84
[ è forse il fatto che è un'unica stringa che crea problemi? ][/supersaibal]![]()
function scrivi( $cosa, $perche ) {
echo $cosa.$perche;
}
scrivi( 'Hello', 'World' );
$dascrivere = 'Hello,World';
scrivi( $dascrivere );
![]()
![]()
![]()
passare una stringa , a prescindere dal separatore usato al suo interno, non e' passare un array ... e' esattamente passare una stringa
se non hai voglia di fare un explode sulla stringa
$dbtree->addSubLevel( Array( explode( ',', $argument ) ), $argumentToAdd, ':: descrizione ::' );
almeno usa eval
$dbtree->addSubLevel( eval( 'Array( '.$argument.' )', $argumentToAdd, ':: descrizione ::' );
sempre che $argument sia unsa stringa fatta cosi'
$argument = '"Uno", "Due", "Tre", "Quattro"';
.... fammi sapere
so di non essere stato molto chiaro, quindi per chiarire un pò posto i risultati della pagina di prova che ottengo:
cerco di spiegare i singli punti:[*]01. array che contiene gli id dei livelli presenti e il label del livello da aggiungere[*]02. Lunghezza dell'array sopra[*]03. Numero dei livelli già presenti nel db[*]04. Numero livelli che devo aggiungere [corrisponde ai caratteri non numerici][*]05. Array dei livelli da inserire [*]06. Array dei livelli già presenti [*]07. Conversione dell'array sopra nei rispettivi label[*]08. Stringa argument [*]09. Stringa argumentToAdd
- 01. 3|3|3|2|Cinque
- 02. Array length: 5
- 03. Caratteri numerici e presenti in db: 4
- 04. Caratteri non numerici e non presenti in db: 1
- 05. array(1) { [0]=> string(6) "Cinque" }
- 06. array(4) { [0]=> string(1) "3" [1]=> string(1) "3" [2]=> string(1) "3" [3]=> string(1) "2" }
- 07. array(4) { [0]=> string(3) "Uno" [1]=> string(3) "Due" [2]=> string(3) "Tre" [3]=> string(7) "Quattro" }
- 08. 'Uno', 'Due', 'Tre', 'Quattro'
- 09. 'Cinque'
- 10. addSubLevel( Array( 'Uno', 'Due', 'Tre', 'Quattro' ), 'Cinque', ':: descrizione ::' )
[*]10. Seconda parte della funzione [ manca il $dbtree-> ]
a me la stringa della 10 sembra formattata correttamente come richiede la classe, ma a questo punto mi chiedo appunto perché anteponendo il $dbtree-> non succeda niente.
mentre se io da codice prendo la stringa generata al punto 10, antepongo il $dbtree-> tutto funziona correttamente; quindi non capisco il mio errore dove possa essere.![]()
spero di aver chiarito un pò e mi scuso se risulto un pò confusionario, ma mi sta fumando la povera testolina, sarà colpa anche dell'influenza![]()
Grazie mille!![]()
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
il mio posto l' hai saltato a piedi pari, giusto ? :rollo:
ci riprovo ...
$dbtree->addSubLevel( explode( ',', $argument ), $argumentToAdd, ':: descrizione ::' );
anzi, meglio questa ... senza Array
ma comunque
non puoi passargli una stringa, vuole un array
la stringa la accetta solo se e' un' unica chiave
no no non l'hosaltato, semplicemente non l'avevo visto. Ora stavo provando ma non funzionava, la stringa argument l'ho formattata come hai detto tu, ma dà questo errore:[supersaibal]Originariamente inviato da andr3a
il mio posto l' hai saltato a piedi pari, giusto ? :rollo:
ci riprovo ...
$dbtree->addSubLevel( explode( ',', $argument ), $argumentToAdd, ':: descrizione ::' );
anzi, meglio questa [/supersaibal]
mancava una tonda chiusa all'eval, l'ho messa ma dà sempre quell'errore.Parse error: parse error in /store/domains/evoltel.com/login/eBrescia/admin/add_category.php(125) : eval()'d code on line 1
ora provo la tua nuova soluzione!
Grazie!![]()
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
eh no, non funziona nemmeno con l'explode![]()
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
Perchè non usare un semplicissimo foglio XML?
Poi uno si inventa delle regole su come interpretarlo.
esempio
Le foglie potrebbero essere le pagine singole...codice:<DIR name = "root"> <DIR name = "Attività"> <DIR name = "Sport e tempo libero" n = "26" /> <DIR name = "Viaggi e trasporti" n = "13" > </DIR> <DIR name = "affari"> <DIR name = "lavoro" n = "1" /> </DIR> </DIR name = " root">
Gli attributi potrebbero contenere altri dati (visualizzare il nodo espanso? numero file contenuti, ultimo aggiornamento in quella dir,ecc...)
![]()
perche' fai un inutile passaggio in piu' .... connetti al db, prendi i dati in modo ricorsivo, crei l' XML in modo ricorsivo, invii l' xml al php che aveva gia' i dati presi dal db, stampi output ...[supersaibal]Originariamente inviato da JHammer
Perchè non usare un semplicissimo foglio XML?
[/supersaibal]
qui l' XML e' l'ultimo dei problemi ( e delle soluzioni )
13manuel84
se funziona a mano, funziona automatizzato, non scordartelo mai
quindi prova questa e fai un po' di debug che DEVE funzionare, se a mano funziona ...![]()
$dbtree->addSubLevel( explode( ',', $argument ), $argumentToAdd, ':: descrizione ::' );