Poichè sono ormai ore che mi sbatto su questa funzione, sono al punto che probabilmente c'è qualcosa di davvero sciocco che mi sfugge.
Ti offrirei volentieri una pizza!!
Poteva solo essere una sciocchezza.

Quindi la funzione corretta è:

function display_parents($id) {
// $id will be the id of the link we want to display
$link = mysql_query("SELECT parent,name FROM node_data WHERE id=$id");
$link2 = mysql_fetch_array($link);
$parent = $link2[’parent’];
$display = $link2[’name’];
while($parent!=0) {
$dir = mysql_query("SELECT * FROM nodes WHERE id =$parent");
$dir2 = mysql_fetch_array($dir);
$parent = $dir2[’parent’];
$display = $dir2[’cat_name’].">".$display;
}
echo $display;
}

Grazie MILLE!