v2.5.2
Giriş yap

Boş olan kategoriyi göstermeme işlemini nasıl yaparım?

0kan87
501 defa görüntülendi

kategoriler

idnameparentId
1Mobilyalarnull
2Masalar1
3Yemek Masaları2
4Çalışma Masaları2
5Giyimnull
6T-Shirt4

Öz yinelemeli fonksiyon ile listeleyebildigim bir tablom var.
Bu tabloya göre, en üst kategori Mobilyalar ve Giyim. Alt kategoriler ise Yemek Masaları ve diğerleri...

urunler

idurun_adikat_id
15 Kişilik Masa3

Ürünler tablomda bulunan ürün Yemek Masaları kategorisine ait bir ürün dolayısıyla ben yukarıdaki kategori ağacının içerisinde ürün olduğu için basmak, icerisinde ürün olmayan diğer kategori ağaçlarını ise basmamak istiyorum.

Daha açıklayıcı olmak gerekirse ürünler tablomda Giyim veya T-Shirt kategorisine ait bir ürün olmadığı için Giyim ve onun alt kategorisi olan T-Shirt kategori ağacını basmamak istiyorum.

Elde edilmek istenen

Mobilyalar
-Masalar
--Yemek Masaları

Fonkisyonum

function sinirsizKategori($elemanlar,$parentId = 0){
  $cikti = array();
  foreach ($elemanlar as $eleman) {

    if($eleman['parentId'] == $parentId){
      
      $cocuk = sinirsizKategori($elemanlar,$eleman['id']);

      if($cocuk){
        
        $eleman['cocuk'] = $cocuk;
        
      }else{
        $elaman['cocuk'] = array();
      }

      $cikti[] = $eleman;
    }
    
  }

  return $cikti;
}
0kan87
1016 gün önce

@ibrahimali nasıl bir yol izlediğini anlatırsan kodlayabilirim. Şuan mantık dahi kuramıyorum.