merhaba arkadaşlar,
kullancılar aylık olarak ödeme yapıyorlar.
SQL yapısı
id tutar1 tarih1 tutar2 tarih2 tutar3 tarih3
1 100 2010-08-30 200 2010-09-30 300 2010-10-30
2 150 2010-08-30 250 2010-09-30 350 2010-10-30
ödemesi yaklaşan (7gün içinde) üyelerinin id lerini ve tutarı ekrana nasıl bastırabilirim?
kullanıcıya ait diğer ödemeleri gözükmesi sadece yaklaşan ödemesi ve id si ekranda olsun.
Ödeme günü yaklaşanları gösterme
10
●1.120
- 29-08-2010, 21:43:33epoch olarak değiştirdiğimi varsayarsak nasıl olucak sorgusu?Deimosx adlı üyeden alıntı: mesajı görüntüle
- 29-08-2010, 22:16:04baktım nasıl birşey olabilir diye böyle bir fonksiyon yaptım epocha çevirmene gerek kalmıcak
function tarihcevir($tarih){ list($y, $m, $d) = explode('-', $tarih); $tarih = mktime(0, 0, 0, $m, $d, $y); return $tarih; }örneğin tarih1 sütunundan gelen veri $tarih1 değişkeninde
2010-08-14 olsun
fonksiyon içerisine soktuğumuzda
echo tarihcevir($tarih1);
1281733200
değeri döndürüyor
sonra bir hafta öncesini sokuyoruz
1 hafta öncesini öğrenmek için bunu kullanıyorsunuz
$tarih2=tarihcevir(date("Y-m-d", strtotime("-1 weeks")));echo $tarih2;
getireceği değer
1281128400
bu iki tarih arasındaki fark 7 gündür epoch düzeninde 7 gün
604800 dür
kontrolüne geçelim
if(($tarih1-$tarih2) <= 604800){ echo 'Ödeme için 7 günden az bir süre var'; }else { echo 'Ödeme için daha zamanınız var'; }içindeki sayılar çok karışık beynim allak bullak oldu bi an baya zorlandım yarım saattir buna kafa yoruyorum
- 29-08-2010, 23:49:31kafanız karıştı ise tek bir fonksiyon olarak bunu kullanabilirsiniz yapmanız gereken odeme_bildirim7gun fonksiyonuna mysqlden tarih sütununu aktarmanızdır
function odeme_bildirim7gun($tarih){ list($y, $m, $d) = explode('-', $tarih); $tarih = mktime(0, 0, 0, $m, $d, $y); $tarih2=tarihcevir(date("Y-m-d", strtotime("-1 weeks"))); if(($tarih-$tarih2) <= 604800){ $odeme= 'Ödeme için 7 günden az bir süre var'; }else { $odeme= 'Ödeme için daha zamanınız var'; } return $odeme; } - 30-08-2010, 00:42:22bu sekılde yaptım halen 7den fazla zamannız var dıyorDeimosx adlı üyeden alıntı: mesajı görüntüle
bir yerde mantık hatası mı yaptım acaba hocam?
<?php $tarih="2010-09-01"; date_default_timezone_set('Europe/Istanbul'); function tarihcevir($tarih){ list($y, $m, $d) = explode('-', $tarih); $tarih = mktime(0, 0, 0, $m, $d, $y); return $tarih; } function odeme_bildirim7gun($tarih){ list($y, $m, $d) = explode('-', $tarih); $tarih = mktime(0, 0, 0, $m, $d, $y); $tarih2=tarihcevir(date("Y-m-d", strtotime("-1 weeks"))); echo "$tarih<br>"; echo "$tarih2<br>"; if(($tarih-$tarih2) <= 604800){ $odeme= 'Ödeme için 7 günden az bir süre var'; }else { $odeme= 'Ödeme için daha zamanınız var'; } return $odeme; } echo odeme_bildirim7gun($tarih); ?>daha zamanınız var diyor halbuki 2gün sonra..