Merhaba Arkadaşlar,
Bir sınırsız kategori sisteminde tıkladığım kategorinin en üst kategorisinden başlayarak tıkladığım kategoriye kadar nasıl yazdırabilirim?

Tablom şu:

k_id k_ust_id k_adi k_sira
1 0 Türk Dili 1
2 0 Türk Edebiyatı 2
3 1 Sözcükte Anlam 1
4 1 Cümlede Anlam 2
5 2 İslamiyet Öncesi Türk Edebiyatı 1
6 2 İslamiyet Sonrası Türk Edebiyatı 2
7 2 Batı Etkisinde Gelişen Türk Edebiyatı 3
8 6 Halk Edebiyatı 1
9 8 Anonim Halk Edebiyatı 1
10 7 Tanzimat Edebiyatı 1
11 8 Aşık Edebiyatı 2
12 1 Yazım Kuralları 3

Kategorileri alt kategorilerle listelemekten bahsetmiyorum, onu şu kodla yapıyoruz:


function kat_sirala ($ust) { $git=mysql_query("SELECT * FROM makalekategorileri WHERE k_ust_id='$ust'");
echo "
    \n";
    while ($getir=mysql_fetch_array($git)) {
    echo "
  • ".$getir[k_adi]."";
    $ust_git=mysql_query("SELECT * FROM makalekategorileri WHERE k_ust_id='$getir[k_id]'");
    $ust_say=mysql_num_rows($ust_git);
    if ($ust_say > 0) {
    kat_sirala ($getir[k_id]);
    }
    echo "
  • \n";
    }
    echo "
\n";
}

kat_sirala (0);


Ben burda "Anonim Halk Edebiyatı" na tıkladığımda şöyle bir çıktı istiyorum:
Türk Edebiyatı/İslamiyet Sonrası Türk Edebiyatı/Halk Edebiyatı/Anonim Halk Edebiyatı

Sorunu deneye deneye çözdüm arkadaşlar. :)

Yol gösterici kodlarımız şunlar:

$gmk_id=$_GET['gmk_id'];

$gelen_kate=mysql_query("select * from makalekategorileri where mk_id='$gmk_id'");
while($y=mysql_fetch_array($gelen_kate)){
$gmk_id=$y['k_id'];
$gmk_adi=$y['k_adi'];
$gmk_ust_id=$y['k_ust_id'];
}

function yol_bul($ust){
$tumkat=mysql_query("select * from makalekategorileri");
while($d=mysql_fetch_array($tumkat)){
if($d['k_id']==$ust){
$yol_id=$d['k_id'];
$yol_adi=$d['k_adi'];

yol_bul($d['k_ust_id']);
}
}
echo $yol_adi." / ";
}
echo "Makaleler"; yol_bul($gmk_ust_id); echo $gmk_adi;
?>


Amatör olup da böyle şeylere kafa yormak, yoruyor insanı. :)