ho risolto, grazie per gli aiuti
posto nel caso qualche disperato abbia bisogno della stessa cosa di cui io ho avuto bisogno:
Codice PHP:
// questo è il ciclo con cui scrivo le macrocategorie, quelle con padre 0 per intenderci
while ($row=mysql_fetch_assoc($res)){
$nodo = 'nodo'.$i;
$isLast=(isLast($row["CATEGORIA_ID"]))?$pageProperties:$nodeProperties;
$$nodo=new HTML_TreeNodeXL($row["CATEGORIA"], "{$link}");
mostraAlbero($row["CATEGORIA_ID"], $$nodo, $isLast);
$menu->addItem($$nodo);
$i++;
}
// e qui abbiamo la funzione mostraAlbero
function mostraAlbero($padre, &$nodo) {
$s="SELECT * FROM CATEGORIE WHERE CATEGORIA_PADRE_ID={$padre}";
$r=mysql_query($s)or die("$s
".mysql_error());
global $pageProperties;
global $nodeProperties;
$i=0;
while ($row=mysql_fetch_assoc($r)){
$i++;
$subNode='subNode'.$i;
$isLast=(isLast($row["CATEGORIA_ID"]))?$pageProperties:$nodeProperties;
$$subNode=&$nodo->addItem(new HTML_TreeNodeXL($row["CATEGORIA"], "", $isLast));
mostraAlbero($row["CATEGORIA_ID"], $$subNode);
}
}
// isLast è una semplice funzioncina che guarda solamente se il nodo interessato è una foglia oppure se ha a sua volta dei figli