Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

SQL kontrolu, belli sayı aralıkları sorgulama

Konu, 'SQL' kısmında Adem GENÇ tarafından paylaşıldı.

  1. Adem GENÇ

    Adem GENÇ Daimi Üye

    Kayıt:
    11 Kasım 2012
    Mesajlar:
    874
    Beğenilen Mesajlar:
    5
    Meslek:
    Bina Elektronik Sistemleri
    Şehir:
    İstanbul
    Merhaba
    Veritabanına mktime() zamanı değeri kaydediyorum
    1488330600
    yeni kayıt yaparken kontrol ediyorum aynı kayıt var mı diye

    Yapmak istediğim bu kayıtlı mktime() değeri 10 dakika öncesi ve 10 dakika sonrası aralıkta bir kayıt var mı yok mu nasıl yaparım?

    WHERE mktime='$mktime' AND sutun2='$sutun2'....
    Bu aralığı sorgulamak için nasıl yapmak gerekiyor?
     
  2. ErtiAV

    ErtiAV Daimi Üye

    Kayıt:
    14 Nisan 2009
    Mesajlar:
    539
    Beğenilen Mesajlar:
    3
    Şehir:
    sakarya
    zamanı artı eksi olarak bulursunuz where mktime between '$onceki_zaman' and '$sonraki_zaman' şeklinde işinizi görecektir
     
  3. Adem GENÇ

    Adem GENÇ Daimi Üye

    Kayıt:
    11 Kasım 2012
    Mesajlar:
    874
    Beğenilen Mesajlar:
    5
    Meslek:
    Bina Elektronik Sistemleri
    Şehir:
    İstanbul
    Tam anlayamadım
    10 dakika galiba 600 değer
    ben diyorum ki 1488330000 ile 1488331200 aralığında bir kayıt var mı yok mu?
    POST ile gelen değer 1488330600
    PHP:
    WHERE mktime='$mktime' AND sutun2='$sutun2'....
     
    Son düzenleme: 11 Şubat 2017
  4. dinlex

    dinlex Aktif Üye

    Kayıt:
    23 Aralık 2016
    Mesajlar:
    341
    Beğenilen Mesajlar:
    88
    Şehir:
    Hatay
    Yeni bir kayıt yaparken 10 dakika öncesinde kayıt var mı diye kontrol edersiniz de, 10 dakika sonrasına ne olacağını belli değil. Ben mi tam anlamadım acaba, 2 defa okudum halbuki ama..

    Sadece 10dk öncesinde varmı (Yani son 10dk'da benzer kayıt var mı) diye aratmak için;

    $son_10dk = mktime()-600;
    WHERE mktime > '$son_10dk' AND sutun2='$sutun2'.... yapmanız yeterli olacaktır bir yanlış anlama yoksa.
     
  5. Adem GENÇ

    Adem GENÇ Daimi Üye

    Kayıt:
    11 Kasım 2012
    Mesajlar:
    874
    Beğenilen Mesajlar:
    5
    Meslek:
    Bina Elektronik Sistemleri
    Şehir:
    İstanbul
    Bu görev zamanlayıcı bir script
    Geçmiş zamanı kaydetmiyoruz, gelecek zamanda bir dosyayı çalıştıracak görevleri zamanlıyoruz
    Haftalık, haftanın günü veya günleri, ayın günü veya aylık, saat ve dakika diye gelecek bir zamanı belirleyip kaydediyoruz bunu da mktime() olarak kaydediyorum başka bir görev kaydederken aynı zaman içinde çakışmaması için mevcut kayıtları kontrol etmem gerekiyor.

    Konu şimdi daha anlaşılır oldu galiba
     
    dinlex bunu beğendi.
  6. omer

    omer Daimi Üye

    Kayıt:
    25 Haziran 2003
    Mesajlar:
    854
    Beğenilen Mesajlar:
    8
    1) İlk önce php'de 2 değişken ile $Baslangic=$mktime-60 ve $Bitis=$mktime+60 bitişleri belirlemelisin. Bunu php'de sorabilirsin nasıl yapacağınız.

    2) @ErtiAV 'ın dediği gibi = değil between arasına koyacaksın.

    Kod:
    WHERE mktime between '$Baslangic' and '$Bitis'

     
  7. Adem GENÇ

    Adem GENÇ Daimi Üye

    Kayıt:
    11 Kasım 2012
    Mesajlar:
    874
    Beğenilen Mesajlar:
    5
    Meslek:
    Bina Elektronik Sistemleri
    Şehir:
    İstanbul
    O iki değişkeni nasıl oluşturacağım?
    Yani kayıt var mı yok mu aşağıdaki sorgu ile yapıyorum!
    PHP:
              $say $this->db_connection->query("SELECT count(*) as say FROM tabloadi WHERE mktime='$mktime' AND sutun1='$sutun1' AND sutun2='$sutun2'")->fetch_assoc();
              if(
    $say['say']==0){
              
    $this->db_connection->query("INSERT INTO .......");
              }else{
              echo 
    "Bu Görev Veritabanına Daha Önce Kaydedilmiş!";
              }
    O iki değişkeni oluşturmak için önce sorgu yapmak gerekir galiba mktime değerleri alıp dizi yapmak gerekir sonra bunları alıp +60 -60 ekleyerek değişkenleri oluşturmak gerekir galiba
    Bu böyle olacaksa uzun dolaylı bir iş olmuyor mu?

    Bunu sorgu içinde yapılması mümkün değil mi?
     
  8. Adem GENÇ

    Adem GENÇ Daimi Üye

    Kayıt:
    11 Kasım 2012
    Mesajlar:
    874
    Beğenilen Mesajlar:
    5
    Meslek:
    Bina Elektronik Sistemleri
    Şehir:
    İstanbul
    Tamam galiba şimdi anladım
    Şimdi deniyorum
     
  9. Adem GENÇ

    Adem GENÇ Daimi Üye

    Kayıt:
    11 Kasım 2012
    Mesajlar:
    874
    Beğenilen Mesajlar:
    5
    Meslek:
    Bina Elektronik Sistemleri
    Şehir:
    İstanbul
    Tamam dediğiniz gibi yaptım oldu teşekkür ederim
    Formdan gelen $mktime değerine + - uygulayıp iki değişken yaptım