Estás usando una función recursiva, por lo que tu arreglo "$guion" solo contiene un elemento cada llamada por lo que implode no agrega el separador. Y estás usando $level sin sentido, ya que sólo la usas para pasar como parámetro.
Si sólo vas a tener una rama del árbol a la vez, y la rama no tiene más de una rama en cada nivel,creo que podría quedar así;
Código PHP:
Ver originalfunction get_tree($id,$level=0){
$result = mysql_query('SELECT id, label FROM menu WHERE parent='.$id); if($level)//si estamos en el segundo nivel o más
echo '>';
echo $row['label'];
get_tree($row['id'],$level+1);
}
}
get_tree(6,1);
El problema viene si las ramas no son completamente lineales y / o si se trata de más de una rama.