• 21-03-2010, 16:25:06
    #1
    Merhabalar,

    Benim listelemeler ve listemelerdeki ürünlere göre dinamik menü oluşturmak ile ilgili bir sorum bulunmakta. Açık söylemek gerekirse bir türlü gerekli SQL i oluşturamadım.

    Örneğin :

    Bir alışveriş sitesinde indirimli ürünlere tıkladığınızda indirimli ürünler listeleniyor ve sol tarafda ürünlerin ait olduğu menüler, menülerin yanında da o kategoriye ait ürün sayıları.

    örnek adres hepsiburada nın : http://www.hepsiburada.com/fiyatidusenler.aspx?

    Bu sol daki kategori menüsünü oluşturmak istiyorum.
    Arkadaşlar önerilerinizi ve düşüncelerinizi bekliyorum.

    Saygılarımla, iyi çalışmalar...
  • 21-03-2010, 17:14:00
    #2
    Merhaba sanırım php olarak kaynak kod istiyorsun , buradan faydalabilirsin . Kod gayet güzel çalışıyor .

    http://www.sistembilgisi.com/web-programlama/php-ve-mysql/kategorili-navbar-olusturmaphp.html
  • 21-03-2010, 17:35:31
    #3
    Demek istediğim bu değil. Kategorileri kendi başına çalıştırmakda bir sıkıntım yok.

    hepsiburada sayfasına bakarsanız. inidirimli ürünlerin olduğu kategoriler geliyor sadece ve yanlarında sayıları yazıyor.

    İyi çalışmalar.
  • 21-03-2010, 18:01:50
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Bu aslında menü değil kategorilerin listelenmesidir. Bir tablo oluşturun "kategroiler" diye. Sütunları da "kId, kIsim, kUssu, kToplam" olsun.

    kId: Kategorinin IDi
    kIsim: Kategorinin ismi
    kUssu: Kategorinin üstü. Derecelendirme için. En üst düzey ise 0, 0'ın bi altı ise 1 gibi...
    kToplam: Toplam ürün. Bu sütunu her ürün eklediğinizde güncelleyecek bir sorgu çalıştırmalısınız.

    Ağaç (tree) menüye de bunu entegre edeceksiniz.
  • 21-03-2010, 18:34:19
    #5
    Merhabalar,

    Evet asıl sorun zaten gelen ürünlerin ait oldukları kategorileri getirmek. Ama ben malesef sorunumu anlatamadım sanırım.

    by_grafitus sizin söylediğiniz yapmaya çalıştığım yöntem için çok basit ve eksik kaldığı düşüncesindeyim. kategori yapısının değil, kToplam alanınız için diyorum bunu. Çünkü alt alta 2 değil 5 yada daha fazla kategorinin olduğunu düşünün. en alta ürün eklediğinizde yukarı doğru bütün kategorilere bu sayıları eklemek yada eksiltmek gerekecek. Eklemede yada silmede 1 er artırıp eksiltmek neyse kolay. yarın ben bi alt kategoriyi başka bir kategori altında toplarsam o zaman sizin bu yönteminiz tamamen sorun olacak. TRIGGER ler ile aslında işlemleri yaptırtılabilir ama bir alanda toplam sayıları tutmanın çözüm olacağını düşünmüyorum.

    Şuan yaptığım : filtrelediğim ürünlerin kategori alanlarını alıp, kategori tablosunda subquery ile product tablosundan sayıları alarak sorgulatma yapmak.

    SQL Kodu : "SELECT ID, CATEGORY, (SELECT COUNT(ID) FROM product WHERE MAINCATEGORYID=category.ID) AS PCOUNT FROM category WHERE ID IN (".$productcategory.")";

    $productcategory = "1,3,5" gibi bir değişken.

    LEFT JOIN ile yapılması gerektiğine inanıyorum fakat bir türlü oluşturamadım sql i.

    İlginize teşekkürler.

    CÜmleten iyi çalışmalar.