en fin... me refiero al tipo de relación que estos tienen, en base a esto... debemos crear un método recursivo que nos vaya listando las categorías...
ejemplo Código PHP:
<?php
// $row[ID][titulo][padre]
$set = array(
1 => array('Foo', 0),
2 => array('Bar', 1),
3 => array('Candy', 4),
4 => array('Algo', 5),
5 => array('Es', 7),
6 => array('Mejor', 9),
7 => array('A', 2),
8 => array('Veces', 3),
9 => array('Genial', 8),
);
$out = array();
$top = array_rand($set);
while (isset($set[$top]))
{
$test = $set[$top];
$top = $test[1];
$str = $test[0];
$out[] = $str;
}
echo join(' › ', $out);
en realidad, solo es cuestión de análisis... ya que estoy basándome en un arreglo sencillo y no en un resultado de una consulta de SQL ... aunque al final, es el mismo concepto...
espero te sirva, suerte!