v2.5.2
Giriş yap

sorguyu oturtamamak

emmir2
378 defa görüntülendi

Merhabalar 3 adet premium paketim mevcut kullanıcı kayıt olduğu zaman bu 3 pakette 1 hafta olarak hediye ediliyor 1 hafta sonra premium süresi bitiyor buraya kadar sorunum yok

Ek olarak satın alırsa 1 yıl 1 hafta 1 hafta olarak süreleri mevcut

şimdi benim mantık hatası yaptığım nokta hediye olarak verilen premium süresi dolunca o kodlar hep aktif kalmakta ben ek olarak paket satın alımı gerçekleştirsem bile otomatik olarak veriyi 0 yapıyor koşulları kafam da oturtamadım daha doğrusu yardımcı olacak varmı

  @$pretarih = $preControl['date'];
  @$kayitTarihi = $userControl['kayit_tarihi'];

  $premiumbitisi = date('Y-m-d H:i:s', strtotime($kayitTarihi. ' + 1 weeks'));
  if($premiumbitisi < date('Y-m-d H:i:s')){
      $islem = $db->prepare("UPDATE emlakci SET premium_1 = ? WHERE id = ?");
      $islem = $islem->execute(array(0,$userControl['id']));
    }

  $premium2bitisi = date('Y-m-d H:i:s', strtotime($kayitTarihi. ' + 1 weeks'));
  if($premium2bitisi < date('Y-m-d H:i:s')){
      $islem = $db->prepare("UPDATE emlakci SET premium_2 = ? WHERE id = ?");
      $islem = $islem->execute(array(0,$userControl['id']));
    }

     $premium3bitisi = date('Y-m-d H:i:s', strtotime($kayitTarihi. ' + 1 weeks'));
  if($premium3bitisi < date('Y-m-d H:i:s')){
      $islem = $db->prepare("UPDATE emlakci SET premium_3 = ? WHERE id = ?");
      $islem = $islem->execute(array(0,$userControl['id']));
    }

    $premiumbitisii = date('Y-m-d H:i:s', strtotime($pretarih. ' + 1 years'));
  if($premiumbitisii < date('Y-m-d H:i:s')){
      $islem = $db->prepare("UPDATE emlakci SET premium_1 = ? WHERE id = ?");
      $islem = $islem->execute(array(0,$userControl['id']));
      if ($islem) {
        $islem = $db->prepare("UPDATE premium_uyelik SET premium_1 = ? WHERE id = ?");
        $islem = $islem->execute(array(0,$userControl['id']));
      }
    }

    $premium2bitisii = date('Y-m-d H:i:s', strtotime($pretarih. ' + 1 weeks'));
  if($premium2bitisii < date('Y-m-d H:i:s')){
      $islem = $db->prepare("UPDATE emlakci SET premium_2 = ? WHERE id = ?");
      $islem = $islem->execute(array(0,$userControl['id']));
      if ($islem) {
        $islem = $db->prepare("UPDATE premium_uyelik SET premium_2 = ? WHERE id = ?");
        $islem = $islem->execute(array(0,$userControl['id']));
      }
    }


    $premium3bitisii = date('Y-m-d H:i:s', strtotime($pretarih. ' + 1 years'));
  if($premium3bitisii < date('Y-m-d H:i:s')){
      $islem = $db->prepare("UPDATE emlakci SET premium_3 = ? WHERE id = ?");
      $islem = $islem->execute(array(0,$userControl['id']));
      if ($islem) {
        $islem = $db->prepare("UPDATE premium_uyelik SET premium_3 = ? WHERE id = ?");
        $islem = $islem->execute(array(0,$userControl['id']));
      }
    }
ebykdrms
912 gün önce

Tek tablo çok daha rahat olur tabi. Ama orada da premium_1, premium_2 ve premium_3 sütunlarında bitiş tarihi tutmanız daha uygun olur.
premium_bittimi diye ayrı bir sütuna gerek olduğunu sanmıyorum.
emlakci tablosu:
id, kayit_tarihi, premium_1, premium_2, premium_3 sütunlarına sahip olursa ve bu premium sütunları bitiş tarihini tutarsa rahatça sorgulama yapabilirsiniz.
Eğer tarihleri PHP ile hesaplatırsanız çok fazla ihtimale göre kod yazmanız gerekecek.