sorguyu oturtamamak
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']));
}
}
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.