Php ile Sınırsız Kategori Nasıl Yapılır?

Php ile sınırsız kategori nasıl yapılır? Mantığını anlamaya çalışacağız. İnternette zamanında biraz araştırma yaptım fakat gerçek manada bir kod göremedim. Evet birçok sitede bu işlem yapılmış ama her kategori için tekrardan mysql sorgusu yapılmış ki buda etik bir durum değil.

Biz daha farklı bir yöntem kullanacağız ve mysql sorgumuzu bir defa yapacağız. Sizlere iki farklı kategori listeleme fonksiyonu yapacağım. Hiçbir yerde bulamıyacağınız bir yapı ile sınırsız kategori listeleyeceğiz.

Neden böyle dediğime gelince nacizane bir arkadaşım olan “Erkan” ile böyle bir yapıya ihtiyacımız oldu. Tabi bizde hemen netten bakalım alıp kullanalım dedik ama malesef böyle bir kod karşımıza çıkmadı. Bizde kendimiz yapalım ozaman dedik ve kolları sıvadık. Sonrasında Aşağıdaki gibi bir listeleme fonksiyonu yaparak işimizi çözmüş olduk.

1. Yöntem Kategori Listeleme Mantığı

  1. Yöntem bu yöntem opencart sistemindeki kategori mantığına benzemektedir. Halbuki opecart bile bu kategori listeleme mantığını kullanırken her kategori için tekrar sorgu yapmakta. Biz ise bunun önüne geçerek tek sorguyla işimizi hallettik

Öncellikle msql veri tabanımızın aşağıdaki resimdeki gibi olması gerekiyor.

Sınırsız Kategori Mysql Veri Tabanı Örneği.

Gördüğünüz gibi mysql veri tabanı mantığı bu şekilde olmalı yani Ana kategorilerin kategori ust id leri 0 alt kategoriler ise hangi kategorinin alt kategorisiyse o kategorinin idsi kategori üst id bölümüne eklenmeli.

Kategori tablomuzu bu şekilde düzenledikten sonra veri tabanına bağlanalım ve kategorileri çekelim.

Yukarıdaki kod örneği ile tüm verileri $veri değişkenine dizi halinde çektik. Sonrasında çekmiş olduğumuz bu verileri işleyeceğimiz fonksiyonu yazalım. Aşağıdaki vereceğim fonksiyon ile kategorileri düzene sokacağız.

Gelin şimdide bu fonksiyonu çalıştıralım ve çıktımızı alalım.

Yukarıda ben iki şekilde listeledim kategorileri tablo yapısında ve liste yapısında.

Sonuç olarak elimizde şöyle bir çıktı oluştu

Bu yöntem bize bu şekilde bir kategori listeleme yapıyor

2. Yöntem Kategori Listeleme Mantığı

bu yöntem aslında aradığınız listeleme mantığı yine mysql sorgusunu bir kez yapacağız ve fazladan sorgu oluşturmayacağız.

Tekrardan sizlere mysql bağlantısı yapmayacağım zira yukarıda yaptık aynı mantıkta kategorilerimiz olacak ve biz fonsiyonumuzu nasıl oluşturacağımızı öğrenelim. Sınırsız kategori mantığı için bu sefer iki tane fonksiyon oluşturacağız birinci oluşturacağımız fonksiyon bize veri tabanımızdaki kategorileri düzene sokacak ikinci fonsiyonumuz ise listeleyecek.

Şimdi hemen kodumuza geçelim .

  1. Fonksiyon “Kategorileri Düzene Sokacak olan fonksiyonumuz“.

    Foksiyonu çalıştırdığınızda aşağıdaki gibi bir veri oluşuyorsa ozaman fonksiyonumuz doğru şekilde çalışıyor demekktir.

    Gördüğünüz gibi aslında sınırsız kategori mantığını yaptık şimdi gelin hep birlikte birde html yapısınıda eklediğimiz fonksiyonu yazalım ve çalıştıralım.
  2. Fonksiyon ” Kategorileri Ekrana Basacağımız Fonksiyon“.

    Yukarıdaki koduda uyguladıktan sonra ekran çıktısı aynen şu şekilde olacaktır.

Gördüğünüz gibi sadece bir mysql sorgusu yaparak sınırsız kategorilerimizi listeledik.

kodların çalışan halini indirmek için tıklayınız

 

“Php ile Sınırsız Kategori Nasıl Yapılır?” üzerine 4 yorum

Yorum yapın