Php sınırsız kategori listeleme sorunu
Arkadaşlar merhaba. php ile sınırsız kategori mantığı ile veritabanı oluşturdum.
Tabloya kayıt ekliyorum ancak istediğim şekilde yazdıramıyorum.
resimdeki gibi listeleme yapamıyorum.
çok uğraştım ama yapamadım. yardımcı olurmusunuz
function find_subs($mainCategory, $arr, $str = '') {
if (array_key_exists($mainCategory['ID'], $arr)) {
$current = $arr[$mainCategory['ID']];
unset($arr[$mainCategory['ID']]);
foreach ($current as $item) {
echo $str . $item['kategoriAD'] . '<br>';
if (array_key_exists($item['ID'], $arr)) {
$str .= $item['kategoriAD'] . ' --> ';
find_subs($item, $arr, $str);
}
}
}
}
$query = $db->query("SELECT kategoriUST, urunler.* FROM urunler")->fetchAll(PDO::FETCH_ASSOC | PDO::FETCH_GROUP);
$mainCategories = reset($query);
unset($query[key($query)]);
foreach ($mainCategories as $mainCategory) {
$str = $mainCategory['kategoriAD'] . ' --> ';
echo $mainCategory['kategoriAD'] . '<br>';
find_subs($mainCategory, $query, $str);
}
Bir küçük not: Tutarlı çalışabilmesi için tablonuzdaki ilk kaydın bir ana kategori yani üst id si 0 olması gerekir.