• 20-09-2019, 13:05:09
    #1
    Merhaba arkadaslar,
    Yaptim iste bir yerde takildim istedim sekilde cikti alamiyorum.
    Simdi elimde iki sql tablosu istedigim bunlarin ayni anda sorgulatip gerikli veriler esit ise uyari mesaji yazdiricam.

    Kullanicilar : id | adi | tarih | kullanimsuresi
    islemler : id | kid | tarih | ksuresi

    tablolar bu sekil. ilk Kullanicilarda bulunan kullanicisuresi nde süre yada veri girilecek mesela 20 diyelim, ikinci islemler tablosunda ksuresi her sisteme girdiginde +1 ekliyor bunu alt alta yapiyor yeni bir id olusturarak. ksuresi nin toplami ile kullanicisuresi esitlenince süresi doldu diye bilgi yazdirmak istiyorum.
    Bu islemi kullanici panelinde yaptiriyorum ama benim istedigim süresi bitenler diye bir sayfa olusturup buraya girildiginde süresi biten tüm kullanicilari listeletmek.
    Bu konuda yardimci olabilirmisiniz?
    SUM(kullanimsuresi) falan denedim ama sonuc alamadim.
    yada yanlis birsey yapiyorum.
    Tekrar not olarak yaziyorum bu islem kullanici panelinde degil normal suresibitenler.php sayfasinda tüm süresi bitenlerin siralanmasi icin yapilacak.
    giden bir id üzerinde islem olmuyor yani. sabit sayfada.
    Simdiden tesekkürler.
  • 20-09-2019, 13:28:27
    #2
    Hocam şuan dışardayımda size genel mantığı anlatayım kullanıcıları for ile tabloya yazdırmayı biliyorsunuzdur bunu yazarken yazdırmadan önce for dan gelen ilk tablo 2 için 2 veriyi çekin kullanıcılardan id ve süreyi çekip birer değişkene atın daha sonra id yi işlemler tablosunda kid olarak sorgulayın ordan işlem suresini if de sorgulayın ilk tablodan gelen veri ile aynı mı diye aynı ise istediğiniz işlemi yaptırın
    Tabi bu zor yol join ile kullanıcılar tablosunun id si ile işlemlerdeki kid yi eşleştirip tek sorguda çekebilirsiniz

    Edit : "SELECT kullanicilar.adi
    FROM kullanicilar
    INNER JOIN islemler ON kullanicilar.id=islemler.kid WHERE kullanicilar.kullanimsuresi=islemler.ksuresi" Edit 2 :Yanlış sorgu müsait olunca düzgününü atarım
  • 20-09-2019, 13:49:31
    #3
    Tesekürler,
    ben denemeler yapmaya devam ediyorum, dediginiz mantikta islem deniyeyim.


    Normal olarak su sekil tablolardaki sureleri cektiriyorum. Bundan sonrasi sorun oldu bende.
    SELECT K.kullanimsuresi, I.ksuresi FROM Kullanicilar K, islemler I WHERE K.id= I.kid
    Bu sekilde iki tabloda islem yapan kullanicilari listeletiyorum. bundan sonra her kullanicinin süresini toplatip ana sure ile esitligini sorgulatamadim.
  • 20-09-2019, 23:41:01
    #4
    Kullanicilar : id | adi | tarih | kullanimsuresi
    islemler : id | kid | tarih | ksuresi

    Şöyle bi sql olabilir;

    SELECT * FROM Kullanicilar INNER JOIN islemler ON kullanicilar.id=islemler.kid WHERE kullanicilar.kullanimsuresi=islemler.ksuresi GROUP BY kullanicilar.id ORDER BY id DESC
  • 21-09-2019, 09:20:26
    #5
    inanin bunuda defalarca denedim ama bos sayfa geliyor ozaman veri cekmiyor.
    baska bir algoritma bulmam gerekecek sanirim ne yaptiysam verileri dogru sekilde hesaplatamadim.

    SELECT * FROM Kullanicilar INNER JOIN islemler ON kullanicilar.id=islemler.kid WHERE kullanicilar.kullanimsuresi=islemler.ksuresi GROUP BY kullanicilar.id ORDER BY id DESC
    bir sekilde islemler de bulunan kid sine ait ksuresi SUM ile hesaplanmali ama nasil olacak onu bilemedim.




    Tamam arkadaslar konuyu cözdüm. yardim da bulunmak istiyen tüm arkadaslara tesekür ederim.
    SELECT * FROM islemler
    LEFT JOIN kullanicilar ON FIND_IN_SET(kullanicilar.kid, islemler.id);
                                                    GROUP BY kullanicilar.kid
    bu algoritma ile istedigimi halettim.