• 15-01-2020, 19:59:42
    #1
    Arkadaşlar okulum için ufak bir otomasyon yazıyorum takıldıgım nokta,

    mesela 11b deki öğrenciler dersid 1,2,3 olan dersleri alıyor. Ben sorgu yaptıgımda bir ders ekledigimde dersid 1 oldugunda ya da 2 ya da 3 oldugunda where mantıgı ile sorgulayabiliyorum ama dersid 1,2,3 oldugunda sorgu cevapsız kalıyor.Sonuçta bir öğrenci birden fazla dersi oluyor.
    Benim mysql tablom
  • 15-01-2020, 20:49:30
    #2
    ogrenci_id ve ders_id sütunları olan ogrenci_dersler tablosu yapın. join ile tabloları birbirine bağlayıp sorgu çekebilirsiniz. öğrenciler n tane derse kayıt olabilir.
  • 15-01-2020, 20:53:11
    #3
    zeytin8899 adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar okulum için ufak bir otomasyon yazıyorum takıldıgım nokta,

    mesela 11b deki öğrenciler dersid 1,2,3 olan dersleri alıyor. Ben sorgu yaptıgımda bir ders ekledigimde dersid 1 oldugunda ya da 2 ya da 3 oldugunda where mantıgı ile sorgulayabiliyorum ama dersid 1,2,3 oldugunda sorgu cevapsız kalıyor.Sonuçta bir öğrenci birden fazla dersi oluyor.
    Benim mysql tablom
    derId degeri 1,2,3 gibi oldug zaman like sorgusu ile isinizi cozebilirsiniz ama benim size tavsiyem many-to-many iliskisi ile cozun isinizi

    https://fmhelp.filemaker.com/help/18...al.07.06.1.png

    surada benzer bir calisma var.
  • 16-01-2020, 08:37:23
    #4
    YILMAZ adlı üyeden alıntı: mesajı görüntüle
    derId degeri 1,2,3 gibi oldug zaman like sorgusu ile isinizi cozebilirsiniz ama benim size tavsiyem many-to-many iliskisi ile cozun isinizi

    https://fmhelp.filemaker.com/help/18...al.07.06.1.png

    surada benzer bir calisma var.
    Hocam ama tek bir satırda bitiremiyorum ki mesela öğrenci id'si 3 olan biri 4,5,6 dersid li dersleri alır diye bir mantık kurmaya çalışıyorum ve bunu tek satırda yapmaya çalışıyorum.
  • 16-01-2020, 09:53:34
    #5
    Öncelikle öğrencilerin aldığı derslerin ID'lerini array ile getir daha sonrasında bir kolon içerisine bu verileri json_encode ederek tutabilirsin. Öğrencinin aldığı dersi sorgulayabilmek adına bu kolonu tekrardan json_decode edip array içerisinde gelen değeri aratabilirsin bu senin işini çözecektir. Ama ben JSON ile daha önce hiç tecrübe edinmedim diyorsan gelen ders ID'lerini 1|2|3 şeklinde string veri olarak tutarsın daha sonrasında @YILMAZ; arkadaşımın dediği gibi gelen değerleri kolon içerisinde LIKE ile aratabilirsin bu senin işini görecektir.

    Ayrıca yardım istiyorsan profil detayımda tüm bilgilerim var oradan herhangi biri ile iletişime geçebilirsin.
  • 16-01-2020, 20:08:52
    #6
    Tabloları revize etmeden sağlıklı bi yapı kuramazsın, eğer 1 öğrenci birden fazla ders seçebiliyorsa ilgili kolonda ogrenci_id ile çözmen sorununu çözer. Tabloları revize ettikten sonra;
    WHERE kolon_adi IN (değer1,değer2, değer3); WHERE dersid IN (1,2) şeklinde kullanım yapabilirsin
  • 16-01-2020, 20:10:18
    #7
    freguencey adlı üyeden alıntı: mesajı görüntüle
    Tabloları revize etmeden sağlıklı bi yapı kuramazsın, eğer 1 öğrenci birden fazla ders seçebiliyorsa ilgili kolonda ogrenci_id ile çözmen sorununu çözer. Tabloları revize ettikten sonra;
    WHERE kolon_adi IN (değer1,değer2, değer3); WHERE dersid IN (1,2) şeklinde kullanım yapabilirsin
    in ne işe yariyor Hocam daha önce kullanmadım.
  • 16-01-2020, 20:13:45
    #8
    IN Operatörü ilgili alanda değerler kümesi olarak çekmemize yarıyor örnek ogrenci tablon var ve ad soyad yanına yaş mevcut olsun sen hem 18 hemde 19 yaşındaki öğrencileri listelemek istersen aşağıdaki örnek sql cümlesi işini görecektir;
    SELECT ad_soyad, yas FROM ogrenciler WHERE yas IN(18,19)
  • 17-01-2020, 16:51:19
    #9
    Üyeliği durduruldu
    @freguencey in yazdıgı şekilde kullanımın sorununu çözecektir.