Ho capito pochino di quanto hai scritto:master:
Qualcosa del genere potrebbe andare?
In pratica nella query, oltre al nome ti fai restituire già l'ID e il numero di figli (calcolato dalla funzione ROUND di MySQL, cosi non devi calcolarla lato PHP).Codice PHP:function ns_get_path($id)
{
global $tabella;
// Assicuriamoci di avere un intero
$id = (int)$id;
// Il percorso dalla radice al nodo
$path = array();
// Recupero i valori "sx" e "dx" del nodo
$sql = "SELECT sx, dx FROM {$tabella} WHERE id={$id}";
$res = mysql_query($sql);
$line = mysql_fetch_assoc($res);
// Recupero il percorso
$sql = "SELECT id, nome, ROUND((dx-sx-1)/2) AS figli FROM $tabella WHERE sx <= {$line['sx']} AND dx >= {$line['dx']} ORDER BY sx ASC";
$res = mysql_query($sql);
while ($line = mysql_fetch_assoc($res)) {
$path[] = "<a href=\"index.php?id={$line['id']}\">{$line['nome']}</a> ({$line['figli']})";
}
// Restituisco il risultato
return $path;
}
Ho indovinato?![]()

:master:
Rispondi quotando