Gelen veriyi php tarafından oturtamıyorum. Yardım edermisiniz?
<div data-kt-menu-trigger="{default: 'click', lg: 'hover'}" data-kt-menu-placement="bottom-start" class="menu-item menu-lg-down-accordion menu-sub-lg-down-indention me-0 me-lg-2">
<span class="menu-link py-3"><span class="menu-title">Ayarlar</span><span class="menu-arrow d-lg-none"></span></span>
<div class="menu-sub menu-sub-lg-down-accordion menu-sub-lg-dropdown px-lg-2 py-lg-4 w-lg-200px">
<div data-kt-menu-trigger="{default:'click', lg: 'hover'}" data-kt-menu-placement="right-start" class="menu-item menu-lg-down-accordion">
<span class="menu-link py-3"><span class="menu-icon"><i class="ki-duotone ki-rocket fs-2"><span class="path1"></span>
<span class="path2"></span></i></span><span class="menu-title">Site Ayarları</span><span class="menu-arrow"></span></span>
<div class="menu-sub menu-sub-lg-down-accordion menu-sub-lg-dropdown menu-active-bg px-lg-2 py-lg-4 w-lg-225px">
<div class="menu-item">
<a class="menu-link py-3" href=""><span class="menu-bullet"><span class="bullet bullet-dot"></span></span>
<span class="menu-title">ayar 2</span></a>
</div>
<div class="menu-item">
<a class="menu-link py-3" href=""><span class="menu-bullet"><span class="bullet bullet-dot"></span></span>
<span class="menu-title">ayar 3</span></a>
</div>
</div>
</div>
<div class="menu-item">
<a class="menu-link py-3" href="" target="_blank" title="test" data-bs-toggle="tooltip" data-bs-trigger="hover" data-bs-dismiss="click" data-bs-placement="right"><span class="menu-icon"><i class="ki-duotone ki-rocket fs-2"><span class="path1"></span><span class="path2"></span></i></span><span class="menu-title">test</span></a>
</div>
<div class="menu-item">
<a class="menu-link py-3" href="" target="_blank" title="test" data-bs-toggle="tooltip" data-bs-trigger="hover" data-bs-dismiss="click" data-bs-placement="right"><span class="menu-icon"><i class="ki-duotone ki-abstract-26 fs-2"><span class="path1"></span><span class="path2"></span></i></span><span class="menu-title">test 2</span></a>
</div>
<div class="menu-item">
<a class="menu-link py-3" href="" title="test" data-bs-toggle="tooltip" data-bs-trigger="hover" data-bs-dismiss="click" data-bs-placement="right"><span class="menu-icon"><i class="ki-duotone ki-switch fs-2"><span class="path1"></span><span class="path2"></span></i></span><span class="menu-title">test 3</span></a>
</div>
<div class="menu-item">
<a class="menu-link py-3" href="" target="_blank"><span class="menu-icon"><i class="ki-duotone ki-code fs-2"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span></i></span><span class="menu-title">test 5</span></a>
</div>
</div>
</div>
sql tablo
id | adi | kategori | parent_id |
---|---|---|---|
1 | Değer 1 | 0 | 0 |
2 | Değer 2 | 0 | 0 |
2 | Değer 3 | 1 | 0 |
2 | Değer 4 | 1 | 0 |
2 | Değer 5 | 2 | 4 |
2 | Değer 6 | 2 | 4 |
2 | Değer 7 | 2 | 1 |
tabloda bu şekilde kafam sürekli karışmtı takıldım
acaba bunu mysql çekerken burdaki kurala uygun bir şekilde nasıl birşey yapabilirim.
teşekkürler.
@abdullahx
@h4ckdr0
böyle bir sınıf hazırladım fakat yine istediğim gibi olmadı malesef.
ne varsa ekrana basıyor
ilk çıkan menü düzgün çıkıyor
sonraki menü ilk menünün içindeki menüler çıkıyor
sonra o içindeki mönüler
böyle böyle devam ediyor örnekle söyle açıklayayım.
https://www.hizliresim.com/56r8pte
https://www.hizliresim.com/8tqsclh
bu resimlerdeki gibi saçma bir hal aldı
acaba nerde hata yapıyorum.
class CategoryTree {
private $db;
public function __construct($db) {
$this->db = $db;
}
public function getMenu() {
$menu = '';
$categories = $this->getCategories();
foreach ($categories as $category) {
$subCategories = $this->getCategories($category['id']);
$menu .= '<div data-kt-menu-trigger="{default: \'click\', lg: \'hover\'}" data-kt-menu-placement="bottom-start" class="menu-item menu-lg-down-accordion menu-sub-lg-down-indention me-0 me-lg-2">';
$menu .= '<span class="menu-link py-3"><span class="menu-title">' . $category['cat_name'] . '</span><span class="menu-arrow d-lg-none"></span></span>';
if (!empty($subCategories)) {
$menu .= '<div class="menu-sub menu-sub-lg-down-accordion menu-sub-lg-dropdown px-lg-2 py-lg-4 w-lg-200px">';
foreach ($subCategories as $subCategory) {
$menu .= '<div data-kt-menu-trigger="{default:\'click\', lg: \'hover\'}" data-kt-menu-placement="right-start" class="menu-item menu-lg-down-accordion">';
$menu .= '<span class="menu-link py-3"><span class="menu-icon"><i class="ki-duotone ki-rocket fs-2"><span class="path1"></span>';
$menu .= '<span class="path2"></span></i></span><span class="menu-title">' . $subCategory['cat_name'] . '</span><span class="menu-arrow"></span></span>';
$subSubCategories = $this->getCategories($subCategory['id']);
if (!empty($subSubCategories)) {
$menu .= '<div class="menu-sub menu-sub-lg-down-accordion menu-sub-lg-dropdown menu-active-bg px-lg-2 py-lg-4 w-lg-225px">';
foreach ($subSubCategories as $subSubCategory) {
$menu .= '<div class="menu-item">';
$menu .= '<a class="menu-link py-3" href="' . $subSubCategory['url'] . '">';
$menu .= '<span class="menu-bullet"><span class="bullet bullet-dot"></span></span>';
$menu .= '<span class="menu-title">' . $subSubCategory['cat_name'] . '</span></a></div>';
}
$menu .= '</div>';
}
$menu .= '</div>';
}
$menu .= '</div>';
}
$menu .= '</div>';
}
return $menu;
}
private function getCategories($parent_id = null) {
$query = "SELECT * FROM admin_menu";
if ($parent_id !== null) {
$query .= " WHERE parentID = :parentID";
}
$stmt = $this->db->prepare($query);
if ($parent_id !== null) {
$stmt->bindValue(":parentID", $parent_id, PDO::PARAM_INT);
}
$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
}