• 04-09-2017, 11:24:15
    #1
    Merhaba Arkadaşlar,

    Bir filtre sistemi yapıyorum ürün gösterim sayfasına filtreler seçildikten sonra bana seçilen filtreler 1,5,9 şeklinde dönüyor. Filtre sayfasında ürünler listeleniyor buna göre.

    Daha önce Join işlemi yapmadım hiç nasıl yapacağım bilmiyorum. İnternette araştırdım bu method kullanılarak yapılabiliyor sanki.

    2 adet tablom var

    urunler Tablom (ozellikler bölümünü farklı bir method denediğim için açmıştım orası pas geçilebilir tabi burası kullanılarak yapılabilirsede olur)



    urun_ozellik_baglanti Tablom



    Nasıl bir sorgu yazmam gerekir yardımcı olabilirseniz sevinirim.
  • 04-09-2017, 11:42:34
    #2
    Üyeliği durduruldu
    mysql_query("SELECT urunler.ozellikler FROM urun_ozellik_baglanti, urunler WHERE urun_ozellik_baglanti.urun_id = urunler.urun_id")

    Joiner kullanmanıza gerek yok her iki tabloda da hali hazırda urun_id unique key olarak tanımlanmış, queryi ornek olsun diye yazdım hocam
  • 07-09-2017, 09:26:03
    #3
    celalyesil adlı üyeden alıntı: mesajı görüntüle
    Merhaba Arkadaşlar,

    Bir filtre sistemi yapıyorum ürün gösterim sayfasına filtreler seçildikten sonra bana seçilen filtreler 1,5,9 şeklinde dönüyor. Filtre sayfasında ürünler listeleniyor buna göre.

    Daha önce Join işlemi yapmadım hiç nasıl yapacağım bilmiyorum. İnternette araştırdım bu method kullanılarak yapılabiliyor sanki.

    2 adet tablom var

    urunler Tablom (ozellikler bölümünü farklı bir method denediğim için açmıştım orası pas geçilebilir tabi burası kullanılarak yapılabilirsede olur)



    urun_ozellik_baglanti Tablom



    Nasıl bir sorgu yazmam gerekir yardımcı olabilirseniz sevinirim.

    Ben şöyle bir şey anladım,
    urun_ozellik_baglanti tablosunda ki urun_id'leri baz alarak
    urunler tablosunda ki verileri çekmek istiyorsunuz.

    Eğer doğruysa bir kaç çözümü var aklıma gelen 2 çözüm şöyle ;

    1 -
    select urunler.urun_adi , urunler.urun_fiyat, urunler.urun_aciklama
    from urunler
    inner join urun_ozellik_baglanti on urun_ozellik_baglanti.urun_id = urunler.urun_id
    2-
    select urunler.urun_adi , urunler.urun_fiyat, urunler.urun_aciklama
    from urunler
    where urun_id in (select urun_id from urun_ozellik_baglanti)
  • 07-09-2017, 11:00:18
    #4
    bluesboystunes adlı üyeden alıntı: mesajı görüntüle
    mysql_query("SELECT urunler.ozellikler FROM urun_ozellik_baglanti, urunler WHERE urun_ozellik_baglanti.urun_id = urunler.urun_id")

    Joiner kullanmanıza gerek yok her iki tabloda da hali hazırda urun_id unique key olarak tanımlanmış, queryi ornek olsun diye yazdım hocam
    Denedim ama olmadı hocam hiçbir sonuç döndüremedim.

    KarcanOzbal adlı üyeden alıntı: mesajı görüntüle
    Ben şöyle bir şey anladım,
    urun_ozellik_baglanti tablosunda ki urun_id'leri baz alarak
    urunler tablosunda ki verileri çekmek istiyorsunuz.

    Eğer doğruysa bir kaç çözümü var aklıma gelen 2 çözüm şöyle ;

    1 -
    select urunler.urun_adi , urunler.urun_fiyat, urunler.urun_aciklama
    from urunler
    inner join urun_ozellik_baglanti on urun_ozellik_baglanti.urun_id = urunler.urun_id
    2-
    select urunler.urun_adi , urunler.urun_fiyat, urunler.urun_aciklama
    from urunler
    where urun_id in (select urun_id from urun_ozellik_baglanti)
    Sürekli değişen ozellik idlerim olacak hocam. http://www.benimsunucum.net/sites/dmo/kategori.html sayfam burası. Buradan filtreleri seçtikten sonra uygula denildiğinde seçilen filtre idleri bana 1,5,7,9 şeklinde geliyor.

    Dönen idleri içeren ürünler gelecek. Örneğin a ürününün özellik idleri 1,5,7,9 ama b ürünün 1,5,7,10 c ürünüm ise 1,5,7,9,12 filtrem 1,5,7,9 olduğu için a ve c ürününü listelemesi gerekiyor.
  • 07-09-2017, 18:09:31
    #5
    celalyesil adlı üyeden alıntı: mesajı görüntüle
    Denedim ama olmadı hocam hiçbir sonuç döndüremedim.



    Sürekli değişen ozellik idlerim olacak hocam. http://www.benimsunucum.net/sites/dmo/kategori.html sayfam burası. Buradan filtreleri seçtikten sonra uygula denildiğinde seçilen filtre idleri bana 1,5,7,9 şeklinde geliyor.

    Dönen idleri içeren ürünler gelecek. Örneğin a ürününün özellik idleri 1,5,7,9 ama b ürünün 1,5,7,10 c ürünüm ise 1,5,7,9,12 filtrem 1,5,7,9 olduğu için a ve c ürününü listelemesi gerekiyor.
    Güzel, böyle şeyler beni sevindiriyor Sanırım şöyle bir kilit nokta var ;
    seçilen özellik id'leri 1,5,7,9 diyelim 4 adet özellik ID'miz var. Kesinlikle bu ID'lerin tamamını içeren ürünler gelmesi gerekiyor. Yani
    A ürününde 1,5,7,9,10 var.
    B ürününde 1,5,9,10 var.

    Seçilen özellik ID'leri 9,7,10. Bu seçime göre sadece A ürünü gelmeli doğru mu ?

    -- şu sıralar evde internet yok, sadece iş yerindeyken yazabiliyorum. Boş vakit yaklayabilirsem yardımcı olmaya çalışacağım. O yüzden detaylı olarak soruyorum