Aspire
Koineks
  • 15-04-2008, 01:39:01
    #1
    1/2
    merhaba,

    arkadaslar bir kategori sistemi yapiyorum, hersey iyi guzel bir noktada takildim, cozum uretemiyorum yardimci olursaniz sevinirim..

    Bir databaseim var bunun icinde ikitane tablom var

    KATEGORILER
    (KategoriID, UstKategoriID, KategoriADI)

    SCRIPTLER
    (ScriptID, KategoriID, ScriptADI, ...)

    Benim yapamadigim bir ana kategorinin altinda kactane Script ekli varsa hepsinin toplamini gostersin, ALT KATEGORILERDEKI SCRIPTLER DAHIL.


    SQLUst= "Select * From Kategoriler where UstKategoriID = 0"
    RsUst.Open SQLUst,baglanti,1,3

    SeciliKategoriID = RsUst("KategoriID")

    RsUst.close

    SQL = "Select * From Scriptler where KategoriID = "&SeciliKategoriID&""
    Rs.Open SQL,baglanti,1,3

    ToplamScriptler = RS.RecordCount

    Rs.Close


    bu mantik sadece o secili kategorideki scriptlerin toplamini hesapliyor, secili kategorinin alt kategorilerinin icindeki scriptleri hesaplamiyor, alt kategorilerinin de toplamini hesaplamak icin bir fonksiyon yada bir dongu bilen arkadas varsa memnun olurum.

    Tesekkurler
  • Sponsor Reklam
  • 15-04-2008, 12:05:43
    #2
    1/2
    Sanırım sınırsız alt kategori içeren bir sistemden bahsediyorsun. 1 yıl önce sadece bunun için 2 günümü elimde kalem kağıt karalayarak geçirmiştim. Kategori yapına özel bir döngü kurman lazım.

    Yani alt kategoriye girecek, sonra onun altındakine de girecek, en alta kadar inecek, sonra bir üst kategoriye çıkacak, sonraki kategoriye geçip onun altına inecek vs.

    Aşırı kafa patlatman gereken bir iş ve kategori sayısı çok fazlaysa hazırlanması 1 dk yi bulabiliyor.

    Şu şekilde ipucu vereyim : Bütün alt kategori idlerini tespit edip bir sql sorgusuna eklemelisin ve her defasında dbye yeni sql ile bağlanmalısın kaldığın yerden devam etmek için de kayıtseti üzerinde "move n" şeklinde ilerlemelisin.

    Bu kendi bulduğum çözüm tekniğinin basit açıklaması. Umarım anlarsın. Ben bile bazen nasıl yaptım diyorum Kolay gelsin
    Sorunları, o sorunları yarattığınız düşünce düzleminde durarak çözemezsiniz.
  • 15-04-2008, 15:19:50
    #3
    1/2
    tek tabloda sınırsız kategori oluşturabilirsin, sınırsız alt kategoride dahil
    id catName child

    diye tablon olsun

    id < oto id nosu
    catname < kategori ismi
    child < hangi kategorinin alt kategorisiyse onun id si...
  • 16-04-2008, 06:33:19
    #4
    1/2
    netevren,

    hallettim sonunda

    aslinda okadar zor degilmis simdi bakiyorumda, mantigi kurunca sorun kalmiyo, ama benide bir gece sabahlatti hani

    aynen dedigin gibi sonuca ulastim, yardimci oldu yazdiklarin, tesekkurler.