- Aşağıdaki örnekte sql sorgularını ve pdo kısmını kendinize göre editleyebilirsiniz.
- getKategori() fonksiyonuna parametre olarak hangi kategori idyi verirseniz altındaki kategorileri ul-li şeklinde listeler, 0 verirseniz parent=0 olan en üst kategorilerden başlar
- Eğer pdo değişkeninizi yani $baglan fonksiyon içinde görmezse fonksiyonun içinde $Sql in üstüne
global $baglan; tanımı yapabilirsiniz.
<?php
function getKategori($parent)
{
$Sql = $db->query("Select id, baslik From kategoriler Where durum='1' And parent='$parent' Order By id Asc");
$has_childs = false;
while (list($kat_id, $baslik) = $db->fetchAll($Sql))
{
if ($has_childs === false)
{
$has_childs = true;
$GLOBALS['Kategori'] .= '<ul>';
}
$GLOBALS['Kategori'] .= '
<li>'.$baslik.'
';
getKategori($kat_id);
$GLOBALS['Kategori'] .= '</li>';
}
if ($has_childs === true)
{
$has_childs = false;
$GLOBALS['Kategori'] .= "</ul>";
}
return $GLOBALS['Kategori'];
}
echo getKategori('0');
?>
Ekstra kod yazmanıza gerek yok. Sadece Aksesuar kategorisinin id sini ikinci parametre olarak verin yeterli.
drawElements(buildTree($kategoriler, 1));
Söylediğiniz şekilde alt kategorileri listeleyerek ekrana yazıdırıyor, bunu yapabiliyorum. Ben ilgili alt kategorileri ayrı ayrı değişkenlere veya bir diziye atmak istiyorum.
Bunu da bir bir kategoriye tıklandığında onun altındaki tüm kategorileri listeleyebilmek için yapmak istiyorum aslında.