Originalmente inviato da
PIG
Ti chiedo sinceramente scusa per sembrare così di coccio!
In effetti se uso la tua proc e parto dal + giovane...
Guarda che è praticamente impossibile che non ti funzioni: è uno degli algoritmi "classici" dell'elaborazione di alberi e non dovrei aver sbagliato a riportarlo...
Questo, però, funziona solo se esiste un nodo al vertice di tutta la gerarchia (cioè la radice), se parti da un nodo qualsiasi, quindi, dovrai trovare il nodo radice prima di iniziare la visita, così:
Codice PHP:
<?php
function start_preorder ()
{
// si suppone che il nodo senza genitori sia unico...
$query = "SELECT * FROM TABELLA WHERE id_superiore IS NULL";
$result = mysql_query ($query, $db);
if ($line = mysql_fetch_array ($result))
pre_order_visit ($line['id']);
else
die ("Nessuna radice: impossibile visitare l'albero!");
}
?>
Stammi bene...