Mysql Tarihe Göre Veri Çekmek
-
S.a
merhaba Yine ben :)
php mysql hakkında bi sorum olacak.
örneğin elimde kayıtlar var hepsinin son kullanma tarihi var. bugun süresi dolan bu hafta süresi dolan bu ay süresi dolan şeklinde verileri nasıl çekebilirim nasıl bir sorgu oluşturmak gerekiyor.
-
şey yaparsın bi hafta sonrasının falan tarihini hesaplatırsın daha sonra WHERE tarih='$tarih' çekiyosun ya tarih<'$tarih' yaparsın tarihleri $tarih den erken olanları listeler falan filan
-
Cosmic bunu yazdı:
-----------------------------
şey yaparsın bi hafta sonrasının falan tarihini hesaplatırsın daha sonra WHERE tarih='$tarih' çekiyosun ya tarih<'$tarih' yaparsın tarihleri $tarih den erken olanları listeler falan filan
-----------------------------hocam CODE :D şeklinde gösterebilirmisin
-
<?php
$sor=mysql_query("select * from tablo order by sutunadi ASC");
?>
http://www.somut.net/tag/mysql-php-tarihe-gore-siralama-listeleme
buraya bakarak yapabilirsin . -
select * from tabloadi sutun order by id desc
veya asc.
id'ye göre yada tarihe göre çekebilirsin.
-
tarihler konusunda vBulletin in includes/functions.php deki vbdate() fonksiyonunu öğrensen iyi olur. adamlar oturmuş bu tarih meselesini en iyi ne şekilde hallederiz diye. bunu bulmuşlar.
vbdate fonksiyonu şöyle bişedir: tarihler time() fonksiyonu ile kayıt edilir. daha sonra bunu vbdate fonksiyonuna ihtiyaç duymadan date($format,$tarih) şeklinde de kullanabilirsin ama vbdate o tarihleri 1 gün önce, Bugün 18:45 gibi daha göze hoş ve anlaşılır gösterir ayrıca kattığı hava da tartışılmaz tabii :D
örnek kayıt hali: time() dersen kayıt edeceği şey şudur: 1308485869
bu şekilde 10 haneli rakamlar. bunu mysql de int (10) şekilli sütun a kayıt ediyosun.
daha sonra kullanımı: $tarih = $db->veri_cek('tablo','where bilmemne = "bilmemne"', 'tarih');
şimdi o 10 haneli rakamsal tarih $tarih değişkeninde. bu tarihi istediğin şekilde kullan. örneğin vbdate('H:i j.m.y', $tarih) dersen ekranda 15:18 19.06.11 yazar. yani istediğin yerde istediğin formatta okutabilirsin.gelelim asıl meseleye: expiredate adlı sütundaki değeri 1 haftadan az kalmışları çekmek istersen: 'SELECT * FROM tablo WHERE expiredate < "'.$bitistarihinintime()agöreformatlıhali.'"'
istediğin bi tarihin bu time() formatlı halini bulmak için de şuanın tarihini bul. diyelim 10 gün sonrasını mı istiyosun. + 10*84200 :D yani saniye cinsinden 10 gün ü üzerine ekle.
bu sistem benim bi scriptimde de var. şu şekilde: üyeliğin bitiş tarihini hep gösteriyo. ama 15 günden az kalmış sa kaldığı gün sayısını yazıyo. 10 günden az kalmışsa uzatmak istermisiniz diye link koyuyo oraya.
-
Hocam bi türlü yapamadım örnek verim
6. aydayız bu ay süresi dolan ürünlerimiz :S
-
up up
-
// 24(saat) * 60(dakika) * 60(saniye) = 1 gün içinde toplam 86400 saniye var.
$bir_gun_sonra = (time() + 86400);
echo $bir_gun_sonra;
mysql_query("select * from uyeler where uyelik_bitis_tarihi='$bir_gun_sonra'");
-
tutkun bunu yazdı:
-----------------------------
// 24(saat) * 60(dakika) * 60(saniye) = 1 gün içinde toplam 86400 saniye var.
$bir_gun_sonra = (time() + 86400);
echo $bir_gun_sonra;
mysql_query("select * from uyeler where uyelik_bitis_tarihi='$bir_gun_sonra'");
-----------------------------eywllah kardeşim
-
tutkun bunu yazdı:
-----------------------------
// 24(saat) * 60(dakika) * 60(saniye) = 1 gün içinde toplam 86400 saniye var.
$bir_gun_sonra = (time() + 86400);
echo $bir_gun_sonra;
mysql_query("select * from uyeler where uyelik_bitis_tarihi='$bir_gun_sonra'");
-----------------------------Bu düzgün çalışmaz.. Hiçbir üyenin tarihi saniyesi saniyesine tutmayacaktır :)
$simdi = time();
$yarin = time() + 86400;
mysql_query("select * from uyeler where uyelik_bitis_tarihi > $simdi and uyelik_bitis_tarihi < $yarin");
Bu şekilde yaparsan üyeliğin bitmesine 24 saatten az kalanlar gösterilir...
