• 09-11-2021, 16:24:00
    #1
    Merhaba değerli kardeşlerim ve abilerim..
    Sql sorgusunda where column kısmında içerisinde 100e yazın bir dizi sorgulamam gerekiyor.

    Bunu sağlıklı mantıklı şekilde nasıl yapabilirim?

    where yiyecekler = 'elma' yerine dinamik bir yapı kullanarak bu dizinin içeriği değişebilecek.

    $yiyecekler = 'elma, armut, kivi, karpuz, çorba, salatalık, kiraz, kebap, dolma' gibi...

    dizide yer alanlarlardan hangileri yiyecekler tablosunda varsa, hepsini almak istiyorum.
  • 09-11-2021, 16:29:42
    #2
    dev
    Kurumsal Üye
    buddy adlı üyeden alıntı: mesajı görüntüle
    Merhaba değerli kardeşlerim ve abilerim..
    Sql sorgusunda where column kısmında içerisinde 100e yazın bir dizi sorgulamam gerekiyor.

    Bunu sağlıklı mantıklı şekilde nasıl yapabilirim?

    where yiyecekler = 'elma' yerine dinamik bir yapı kullanarak bu dizinin içeriği değişebilecek.

    $yiyecekler = 'elma, armut, kivi, karpuz, çorba, salatalık, kiraz, kebap, dolma' gibi...

    dizide yer alanlarlardan hangileri yiyecekler tablosunda varsa, hepsini almak istiyorum.
    Sormak istedigin array'i query icinde nasil kullanabileceginiz mi?
  • 09-11-2021, 16:43:37
    #3
    SELECT * FROM table WHERE yiyecekler IN ('elma','armut')
    İn ile yapabilirsin
    $yiyecekler = "elma,armut";
    $yiyeceklerStr = implode("','", array_map("trim",explode(',',$yiyecekler) ) );
    $query = " SELECT * FROM table WHERE yiyecekler IN( $yiyeceklerStr ) ";
  • 09-11-2021, 18:18:59
    #4
    Noroc adlı üyeden alıntı: mesajı görüntüle
    Sormak istedigin array'i query icinde nasil kullanabileceginiz mi?
    evet hocam
  • 09-11-2021, 18:21:03
    #5
    dev
    Kurumsal Üye
    buddy adlı üyeden alıntı: mesajı görüntüle
    evet hocam
    @darness;'in verdigi ornek isini gorecektir. Implode ile array elemanlarini birlestirip string olarak size dondurur. Bu string'i sql icinde kullanirsiniz.
  • 09-11-2021, 18:55:29
    #6
    darness adlı üyeden alıntı: mesajı görüntüle
    SELECT * FROM table WHERE yiyecekler IN ('elma','armut')
    İn ile yapabilirsin
    $yiyecekler = "elma,armut";
    $yiyeceklerStr = implode("','", array_map("trim",explode(',',$yiyecekler) ) );
    $query = " SELECT * FROM table WHERE yiyecekler IN( $yiyeceklerStr ) ";
    halletim hocam teşekkürler