• 10-08-2018, 10:44:19
    #1
    Veri tabanımda filmler adında bir alanım var bu alan içerisinde aktorler adında bir sütunum var bu sütunda aktörlerin id değerleri yer alıyor 1,2,3,6 gibi amacım aktör profil sayfasında aktörün oynadığı filmleri çekme aktörün id değerini alıp aktorler stununda id değerini nasıl bulabilirim.

    Örnek: meltar95 adlı aktörün profiline girdim id değeri 1 filmler tablosundaki aktorler sütununda 1 değeri geçen bütün filmleri çekmek istiyorum
  • 10-08-2018, 10:56:49
    #2
    Veritabani yapısı yanlış yapılmış. Aktörler film tablosunda tek bir sütunda virgül ile ayrılarak yazılamaz. Yeni bir tablo açın bu tablonun yapısında bunlara yer verin:

    Id
    Aktör ID
    Oynadığı Filmin ID


    Filmlere aktörleri bu şekilde ekleyin. Daha sonra aktörün oynadığı filmleri bu tablodan kolayca çekersiniz.
  • 10-08-2018, 10:59:23
    #3
    botadam adlı üyeden alıntı: mesajı görüntüle
    Veritabani yapısı yanlış yapılmış. Aktörler film tablosunda tek bir sütunda virgül ile ayrılarak yazılamaz. Yeni bir tablo açın bu tablonun yapısında bunlara yer verin:

    Id
    Aktör ID
    Oynadığı Filmin ID


    Filmlere aktörleri bu şekilde ekleyin. Daha sonra aktörün oynadığı filmleri bu tablodan kolayca çekersiniz.

    Aslında buda aklıma geldi fakat basit bir mysql kodu ile çözdüm

    Çözümü arayan olursa diye aşağıda paylaşıyorum

    $query= "SELECT * FROM tablo1 WHERE id like '%$GelenIDdegeri%'";
  • 10-08-2018, 11:04:33
    #4
    meltar95 adlı üyeden alıntı: mesajı görüntüle
    Aslında buda aklıma geldi fakat basit bir mysql kodu ile çözdüm

    Çözümü arayan olursa diye aşağıda paylaşıyorum

    $query= "SELECT * FROM tablo1 WHERE id like '%$GelenIDdegeri%'";
    hatalı kod.
    idler 100.101,102,115 ise; $GelenIDdegeri değeri 1 i arattıgınız zaman 100.101,102,115 hepside dönecektir. buda query demek.
  • 10-08-2018, 11:14:14
    #5
    crooper adlı üyeden alıntı: mesajı görüntüle
    hatalı kod.
    idler 100.101,102,115 ise; $GelenIDdegeri değeri 1 i arattıgınız zaman 100.101,102,115 hepside dönecektir. buda query demek.
    Yazdığınızı denedim ve dediğiniz gibi oldu bunun önüne nasıl geçerim
  • 10-08-2018, 11:53:18
    #6
    $query= "SELECT * FROM tablo1 WHERE id = '$GelenIDdegeri'";
    şeklinde yaparsanız sorun düzelir
  • 10-08-2018, 23:26:29
    #7
    mysql de substring_index diye bi fonksiyon var onu araştırabilirsiniz.ama yineliyorum, veritabanını henüz oluşturma aşamasındaysanız öncearkadaşın dediği gibi yapın. esnek bir yapı değil bu. bi tablo daha yapmak işleri zorlaştırmaz kolaylaştırır.

    iyi çalıimalar.
  • 11-08-2018, 13:00:45
    #8
    Selam,

    $query = $db->query("SELECT * FROM filmler WHERE FIND_IN_SET ($aktorID, filmler.aktorler)")
    şeklinde çözebilirsin.
    Kolay gelsin.