View Single Post
Sponsorlu Bağlantılar
Zoque.Forum
Advertisement
Old 11.02.2007   #5 (permalink)
mceL
 
mceL's Avatar
 
Üyelik Tarihi: 30.11.2000
Yer: Bursa
Yaş: 20
Mesaj: 809
Re: İyi bir kategorilendirme sistemi nasıl olmalı?

İlk mesajımda belirttiğim gibi bir yapı kurabilirsiniz. Biraz daha açıklayıcı olmak gerekir ise;

Kategorilerin hepsinin bir üst kategorisi olabileceğini düşünerek işlem yapacağız. Her kategorinin bir üst kategorisini bilmek en baştaki kategoriyi bulana kadar bize yardımcı olacaktır. Çünkü 5 nolu kategori 4 ün alt kategorisi ise 4 de 3 ün ise.. gibi. Bunu bulana kadar bahsettiğiniz gibi "rekürsif" fonksiyon kullanabiliriz. (yavaş olduğu doğrudur.)

Sizin verdiğiniz örneği tabloya çevirirsek
bilgisayar(1), Müzik(2), Oyuncak(3) Ana Kategori (0)
Donanım(4), Yazılım(5) => bilgisayarın Alt Kategorileri (1)
Dizüstü(6) => bilgisayar/Donanımın Alt Kategorisi (4)

Dizüstü 4 numaralı kategoriye ait (Donanım), Donanım ise 1 numaralı kategoriye ait (bilgisayar) bilgisayar ise ana kategori (0'a ait)

Örneğin bir fonksiyon düşünün; verilen kategori numarasındaki kayıtı bulup "ana_id" değeri 0 olana kadar kendi kendini çalıştırsın.

Kod:
def kategori_yaz(kat)
  # kayıtı bul
  # kaydın "ana_id" değeri 0 dan farklı ise
  # bu fonksiyonu değer olarak "ana_id" şeklinde yeniden çalıştır
  # kategori_yaz(ana_id) gibi.
end
bu fonksiyon size ana kategoriye kadar sırasıyla kategorinin bağlı olduğu tüm kategorileri ekrana yazar.

gibi.
mceL şu an çevrimdışı   Mesajdan alıntı yaparak yeni bir cevap ekleyin