İyi günler ben bir sitem için sonsuz kategori sistemi yapmak istedim internetten bir kod buldum ve başarılı bir şekilde sonsuz kategorileme işlemini gerçekleştirdim aşağıda bir resim ve bulduğum kodu sizinle paylaşıyorum.
// Yazılan Bu kategorinin alt kategorisi varsa fonksiyonu tekrar çağıracak yoksa çağırmayacak. Onun için de bu kategori altında alt kategori var mı onu saydırıyorum. $sql_say = $db -> prepare ("select * from kategoriler where ana_kategori_id=:kategori_id order by kategori_adi desc"); $sql_say -> execute ( array ("kategori_id"=>$kategori_id) ); $alt_kategori_say = $sql_say -> rowcount();
// Alt kategori sayısı 0 dan büyük ise aynı fonksiyon tekrar kullanılacak if ( $alt_kategori_say > 0 ) { kategori_listele($kategori_id); }
ama benim tam olarak istediğim şu her kategoriye link vermesin benim veritabanımda birde ürünler tablom var o tablodada kategoriid kısmı var eğer ürünler tablomdaki kategoriid ile kategoriler tablomdaki kategori_id arasında bir eşleşme olursa link kısmını versin yok eşleşme olmazsa link kısmını # yapabilir.Yani o kategoriye ait ürün varsa linke gitsin istiyorum yoksa gitmesin
Yardımlarınızı bekliyorum.İyi günler İyi çalışmalar.Şimdiden çok teşekkürler.
Şimdi burada takip edebileceğin 2 yol var.
1. Yol (ki en hantalı) - Her kategoriyi yazdırırken tekrar tekrar sql sorguları ile alt kategorisi var mı ürün var mı diye kontrol edebilirsin. Sonuca göre linki yazdırabilirsin.
2. Yol (ki en tatlısı) - Her ürün ekleme silme işleminde kategori tablona ekleyeceğin ek bir "product_exists" sütununu güncellersin. Böylele ürün eklediğinde ilk defa ürün ekleniyorsa 0'dan 1'e çekersin ve ürün sildiğinde o kategoride kalan son ürünü siliyorsan 0'dan 1'e çekersin.
Böylelikle dediğin işlemi çok hızlı bir şekilde gerçekleştirebilirsin ;)