• 06-02-2014, 16:54:14
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar,

    Yapmış olduğum projede çıkamadığım bir sorun ile karşılaştım. Aşağıdaki gibi sınırsız kategori oluşturma yapım yer almakta.



    Yukarıdaki şekilde sınırsız kategori oluşturma işlemini yapıyorum fakat sorunum şu ürünü eklerken kullanıcı,

    Masaütü
    -- Asus PC
    -- GX 650 TM Modeli

    Olan kategoriyi seçiyor ve ürünü ekliyor bu şekilde olunca sitede sadece ilgili kategoriye basınca o ürünü listeliyor. Benim istediğim -- GX 650 TM Modeli bu kategoriye girmiş ise Masaüstü ve Asus PC kategorilerine basıncada çıkması. Bunu nasıl çözebilirim yardımcı olursanız sevinirim.
  • 11-02-2014, 00:59:14
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Bilmiyorum sorununu çözdün mü ama bilmeyenler için veya öğrenmek isteyenler için yazayım.
    Recursive kullanarak istediğin şeyi yapabilirsin. Kod tarafında değil ama sql tarafında yaparsan daha hızlı sonuç alırsın. Aşağıdaki sorgu maksimum 4 seviyede sonuç verir. Maksimum kaçıncı seviyeye kadar alt kategorin varsa ona göre değiştir.

    Bu sorgu sana Masaüstü kategorisine girdiğinde alt kategorilerini listeler. Gelen listeye göre IN kullanarak ürünleri listeleyebilirsin.

    WITH parent(pid, pname)
    AS
    (
       SELECT id, name FROM category
       WHERE id=1
       UNION ALL
       SELECT PA.id, name
       FROM category C JOIN parent as PA
       ON C.MainCatID= PA.pid
    )
    SELECT * FROM parent OPTION(MAXRECURSION 4)
  • 01-03-2014, 23:01:28
    #3
    rob33n adlı üyeden alıntı: mesajı görüntüle
    Bilmiyorum sorununu çözdün mü ama bilmeyenler için veya öğrenmek isteyenler için yazayım.
    Recursive kullanarak istediğin şeyi yapabilirsin. Kod tarafında değil ama sql tarafında yaparsan daha hızlı sonuç alırsın. Aşağıdaki sorgu maksimum 4 seviyede sonuç verir. Maksimum kaçıncı seviyeye kadar alt kategorin varsa ona göre değiştir.

    Bu sorgu sana Masaüstü kategorisine girdiğinde alt kategorilerini listeler. Gelen listeye göre IN kullanarak ürünleri listeleyebilirsin.

    WITH parent(pid, pname)
    AS
    (
       SELECT id, name FROM category
       WHERE id=1
       UNION ALL
       SELECT PA.id, name
       FROM category C JOIN parent as PA
       ON C.MainCatID= PA.pid
    )
    SELECT * FROM parent OPTION(MAXRECURSION 4)
    Sorunum çözüldü teşekkür ederim