- Home
- Categorie
- Coding e Sistemistica
- Coding
- ricorsione
- 
							
							
							
							
							
ricorsioneCiao! 
 ho un problema con una funzione ricorsiva che va in loop..non mi funziona proprio..help..posto qui il codice!Ho un nodo A con due figli B e C e ogni figlio ha altri nodi..quindi un albero..ogni volta devo aggiornare per ogni ramo tutti i suoi figli.. 
 quindi aggiorno B, i figli di b e tutti i figli dei figli..
 poi C, i suoi figli e tutti i figli dei figli..function update_node($record,$value){ 
 $result = mysql_query('select id from node where node_id='{$record}' and deleted=0');
 while ($row = mysql_fetch_assoc($result)) {
 $result = mysql_query('update node set code='{$value}' where node_id='{$row['id']}' and deleted=0');
 update_node($row['id'],$valore);
 }
 }grazie! 
 
- 
							
							
							
							
							Ciao pupah, Fai un echo delle query, e vedi se vengono generate correttamente. 
 Comunque quello che stai facendo, secondo me, è fattibile direttamente con le subquery.
 
- 
							
							
							
							
							
La query è giusta ma sembra vada in loop e non ne esce più..è sbagliato il mio codice?..help.. 
 
- 
							
							
							
							
							Stai richiamando la funzione update_node all'interno della stessa, continuamente per cui è un loop infinito. 
 
- 
							
							
							
							
							
Nel ciclo while modifichi la variabile $result per cui quando esso ripeterà il controllo troverà tutt'altro rispetto ai valori di partenza.