- Home
- Categorie
- Coding e Sistemistica
- PHP
- ricorsione
-
ricorsione
Ciao!
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.