ho un problema con una funzione ricorsiva in ColdFusion...
non sapendo dove postare l'ho messo qui che mi sembra il più generico...
io ho questa funzione che deve ricavare un albero di navigazione.
Nella tabella ogni record ha un id_padre che lo collega al padre.
A me serve conoscendo l'id ricavare tutti i parenti più bassi (quindi figli, nipoti, ecc...) perchè devo aggiornare un campo nel db.
la funzione è questa.
il problema è che se un elemento non ha record non entra nell'if e si blocca tutto.codice:function figlio(id){ var i=1; SQLString = "SELECT scheda_id from scheda where id_padre=" & id; selezionando=QUERY(SQLString: SQLString); writeOutput("SELECT scheda_id from scheda where id_padre=" & id & " "); if(selezionando.recordCount){ for(i = 1; i lt selezionando.recordCount; i = i + 1){ aggiorna(selezionando.scheda_id); figlio(selezionando.scheda_id); writeOutput("Figli di " & id & " "); } } }
Se io chiamo la funzione figlio non dovrebbe continuare a girare fino a quando non finisce?
Mica non dovrebbe interessargli se si fermano le ricorsive richiamate?
non so come mai...
qualcuno ha un'idea?
aggiorna e query sono altre due funzioni esterne...
:master: