v2.5.2
Giriş yap

Gelen veriyi php tarafından oturtamıyorum. Yardım edermisiniz?

acemi
387 defa görüntülendi
<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

idadikategoriparent_id
1Değer 100
2Değer 200
2Değer 310
2Değer 410
2Değer 524
2Değer 624
2Değer 721

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.

acemi
599 gün önce

@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);
  }
}