Załaduj toto do tablicy, a potem już z górki:
<?php
$k['Kategoria 1']['Podkategoria 1']=1;
$k['Kategoria 1']['Podkategoria 2']=1;
$k['Kategoria 1']['Podkategoria 3']=1;
$k['Kategoria 1']['Podkategoria 4']=1;
$k['Kategoria 1']['Podkategoria 5']=1;
$k['Kategoria 2']['Podkategoria 1']=1;
$k['Kategoria 2']['Podkategoria 2']=1;
$k['Kategoria 2']['Podkategoria 3']['Podkategoria Podkategorii 1']=1;
$k['Kategoria 2']['Podkategoria 4']['Podkategoria Podkategorii 2']['Podkategoria Podkategorii Podkategorii 1']=1;
$k['Kategoria 2']['Podkategoria 5']['Podkategoria Podkategorii 3']['Podkategoria Podkategorii Podkategorii 1']=1;
$k['Kategoria 2']['Podkategoria 6']['Podkategoria Podkategorii 4']=1;
$k['Kategoria 2']['Podkategoria 7']['Podkategoria Podkategorii 5']=1;
$k['Kategoria 2']['Podkategoria 8']['Podkategoria Podkategorii 6']=1;
$k['Kategoria 2']['Podkategoria 9']['Podkategoria Podkategorii 7']=1;
$k['Kategoria 3']['Podkategoria 1']=1;
$k['Kategoria 3']['Podkategoria 2']=1;
$k['Kategoria 3']['Podkategoria 3']=1;
setlocale(LC_COLLATE
, "pl_PL", "Polish_Poland.28592", "pl", "pol", "polish"); $kt = preg_split("/;/", $_GET['q'], -1
, PREG_SPLIT_NO_EMPTY
); drzewo($k);
function drzewo($tablica, $p=0, $ciag='') {
echo "<div style='margin-left:10px;'><ul>"; ksort($tablica, SORT_LOCALE_STRING
); $bold = ($t==$kt[$p])?"style='font-weight:bold; color:red;'":"";
echo "<li><a href='{$_SERVER["PHP_SELF
"]}?q=$c' $bold>$t</a></li>"; if ($t==$kt[$p] and
is_array($tablica[$t])) drzewo
($tablica[$t], ++$p, $c); }
}
?>