• 10-11-2021, 18:17:33
    #1
    Selamlar,

    Gün/ay kontrolü yaparak kullanıcı kontrol eden bir kıdem tebrik sistemim var.
    Her gün olmasa bile gün gün kıdem tebriği alması gereken kişilerin isimleri burada yer alıyor altta ki resimdeki gibi;



    Bu butona bir kez bastığımızda anlık olarak disable yapabiliyorum fakat ben bu butona mevcut günde 1 kere basıldıysa gün boyunca 24:00'a kadar disable olmasını istiyorum.
    Bunu nasıl yapabilirim? Fikirlerinizi dinlemek isterim.
  • 10-11-2021, 18:26:51
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Her basışınızda tarihi veritabanına kayıt edip ona göre işlem yapabilirsiniz, son tarih ile şuan arasında 24 saat geçmediyse butonu pasif gösterirsiniz, 24 saat geçtiyse butonu aktif gösterir basıldığında ise veritabanındaki tarihi de güncellersiniz
  • 15-11-2021, 15:17:14
    #3
    babfo adlı üyeden alıntı: mesajı görüntüle
    Her basışınızda tarihi veritabanına kayıt edip ona göre işlem yapabilirsiniz, son tarih ile şuan arasında 24 saat geçmediyse butonu pasif gösterirsiniz, 24 saat geçtiyse butonu aktif gösterir basıldığında ise veritabanındaki tarihi de güncellersiniz
    Mesajınızı yeni görüyorum, kusura bakmayın.
    Onu düşündüm aslında, bir sütun oluşturup basıldığında 1 ise disable yapmayı fakat bu sistem uzun yıllar kullanılacak bir yöntem.
    Yani bir kişiye bu sene kıdem gönderdi ve sütunda ki karşılığı 1 oldu ise seneye aynı tarihte otomatik bir şekilde disable gelecek.
    Bunu nasıl aşabilirim?
  • 15-11-2021, 15:54:43
    #4
    Developer
    aslında yılın son gününü cron tarafında şu şekilde yapabilirsiniz: 0 0 1 1 *
    ben php tarafında örnek verdim:
    <?php
    $user = [
        'id' => 1,
        'username' => 'brown'
    ];
    $logs = [
        'user_id' => $user['id'],
        'created_at' => 1636979809,
        'status' => 1
    ];
    
    $lastdayofyear = date('Y-m-d', strtotime('last day of december'));
    $selecteddate = date('Y-m-d', $logs['created_at']);
    
    if($lastdayofyear == $selecteddate){
        //update db
        $logs['status'] = 0; 
        $logs['created_at'] = strtotime('+1 years', $logs['created_at']);
    }
    
    echo '<pre>';
    var_dump($logs);
    echo '</pre>';