Merhaba, senin için 4-5 dakikamı ayırarak fonksiyon yazdım, anlattığın hiyeraşik yapı derin olduğu için sistem döngü içinde bir kaç işlem ile çalışıyor, kodlar karışık görünebilir.
function kat_sirala($kat_sef, $kat_id = NULL)
{
$sira_ayrac = '=>';
if ($kat_sef <> NULL)
$kosul = sprintf("kat_sef = '%s'", $kat_sef);
else
$kosul = sprintf("kat_id = '%s'", $kat_id);
$kat = mysql_fetch_array(mysql_query("SELECT * FROM kat WHERE {$kosul}"));
$katlist[] = $kat['kat_adi'];
for ($i = 0; $i < 10; $i++) {
if (!is_array($katidlist))
$ustkatid = $kat['ustkat_id'];
else {
if (!$katidlist[1]) {
$ustkatid = $katidlist[0];
} else {
$ustkatid = $katidlist[count($katidlist) - 1];
}
}
if ($ustkatid == 0)
break;
else {
$kat = mysql_fetch_array(mysql_query("SELECT * FROM kat WHERE kat_id = '" . $ustkatid . "'"));
$katlist[] = $kat['kat_adi'];
$katidlist[] = $kat['ustkat_id'];
}
}
for ($i = count($katlist) - 1; $i >-1; $i--) {
$kliste[] = $katlist[$i];
}
$anasayfa = "Anasayfa {$sira_ayrac} ";
$sira = join(" {$sira_ayrac} ", $kliste);
if ($sira <> NULL) {
return $anasayfa . $sira;
}
return FALSE;
}kullanım;
// http://xxx.com/?katsef=fsef
if ($_GET['katsef'])
{
echo kat_sirala($_GET['katsef']);
}çıktı;
Anasayfa => aaa => bbb => ddd => fff
bazı kısımları kendine göre değiştirebilirsin mesela
$sira_ayrac değişkenini. kolay gelsin.