• 17-06-2022, 23:33:52
    #1
    Üyeliği durduruldu
    yayin_turün içine 1 kaç tane daha veri eklemem gerekiyor php ile 1 den fazla veri çektirmem gerekiyor nasıl düzenleme yapmam gerekiyor?
    şu şekilde denedim ama olmadi yayin_tur='Darts,deneme'


    $bilgilerimsor = $db->prepare("SELECT * from yayinlar WHERE yayin_tur='Darts' ORDER BY yayin_saat");
  • 17-06-2022, 23:35:10
    #2
    Tabloları birbirine baglayan bir alan var ise inner join ile yapabilirsin.
  • 17-06-2022, 23:47:21
    #3
    Tam yapılmak isteneni anlamasam da hocam
    $type = "Darts,deneme ,deneme2,denem3"; //şeklinde gider
    $bilgilerimsor = $db->prepare("SELECT * from yayinlar WHERE yayin_tur='".$type."' ORDER BY yayin_saat");
  • 17-06-2022, 23:52:39
    #4
    Üyeliği durduruldu
    batukay adlı üyeden alıntı: mesajı görüntüle
    Tam yapılmak isteneni anlamasam da hocam
    $type = "Darts,deneme ,deneme2,denem3"; //şeklinde gider
    $bilgilerimsor = $db->prepare("SELECT * from yayinlar WHERE yayin_tur='".$type."' ORDER BY yayin_saat");
    teşekkür ederim hocam bu şekilde denedim olmadi ayni sorguyu altında 1 kere daha çalıştırıp yaptım scripte kasmaya yol açarmı?
  • 17-06-2022, 23:53:36
    #5
    shingeki adlı üyeden alıntı: mesajı görüntüle
    teşekkür ederim hocam bu şekilde denedim olmadi ayni sorguyu altında 1 kere daha çalıştırıp yaptım scripte kasmaya yol açarmı?
    Yayın tür tablosunda tek eleman mı oluyor hocam? Yoksa , ile ayrılan farklı elemanlar mı?
  • 17-06-2022, 23:55:03
    #6
    Üyeliği durduruldu
    batukay adlı üyeden alıntı: mesajı görüntüle
    Yayın tür tablosunda tek eleman mı oluyor hocam? Yoksa , ile ayrılan farklı elemanlar mı?
    yayin_tur tablosuna 4 5 farklı tür geliyor bunları sorguyla çekmek istiyorum ayni sorguyu 4 kere yazıp öyle çektim sorun olmaz inşallah
  • 17-06-2022, 23:56:59
    #7
    Doğru anladıysam aşağıdaki işlem işinizi görür hocam.
    $bilgilerimsor = $db->prepare("SELECT * from yayinlar WHERE yayin_tur IN ('Darts','deneme') ORDER BY yayin_saat");
    $bilgilerimsor->execute();
    $bilgiler = $bilgilerimsor->fetchAll();
  • 18-06-2022, 12:14:57
    #8
    Tabloları şöyle düşünecek olursak;

    yayinlar (id, yayin_adi)
    1, Show TV
    2, Fox TV
    3, A Haber
    4, TLC

    yayin_turleri (id, tur)
    1, Dram
    2, Romantik
    3, Komedi
    4, Eğlence

    tur_relation (yayin_id, tur_id)
    1, 1
    1, 2
    2, 3
    2, 4
    4, 4

    Arama filtresiyle sorguyu çalıştıracak olursak zaten ID ler gider.
    SELECT *, (SELECT GROUP_CONCAT(yayin_turleri.tur SEPARATOR ', ') FROM tur_relation JOIN yayin_turleri ON yayin_turleri.id = tur_relation.tur_id WHERE yayin_id = yayinlar.id) AS turler FROM yayinlar WHERE id IN( SELECT yayin_id FROM tur_relation WHERE tur_id IN( 1, 2, 3 ) )
    Ama manuel'de seçecek olursak şöyle bir sorgu gerekir;


    SELECT *, (SELECT GROUP_CONCAT(yayin_turleri.tur SEPARATOR ', ') FROM tur_relation JOIN yayin_turleri ON yayin_turleri.id = tur_relation.tur_id WHERE yayin_id = yayinlar.id) AS turler FROM yayinlar WHERE id IN( SELECT yayin_id FROM tur_relation WHERE tur_id IN( SELECT id FROM yayin_turleri WHERE tur IN ('Komedi', 'Romantik') ) )
    Sonucuda şöyle alırız;;