PHP Mysql Gün, Ay, Yıl Olarak Veri Çekme
Mysql'deki tablonuzu datetime formatında oluşturmuş olmanız gerekli. Eğer veriler bu şekilde depolanmışsa alttaki gruplama ve mysql'in week, month year fonksiyonlarını inceleyebilirsiniz.
SELECT COUNT(id), EXTRACT(MONTH FROM tarih), EXTRACT(YEAR FROM tarih) FROM bloggirdileri GROUP BY EXTRACT(YEAR_MONTH FROM tarih)
alttaki tarihlerden 5. aylardakileri listeleme;
2011-05-06 11:12:13 (<-- bunu)
2012-06-06 13:12:13
2010-02-06 14:52:13
2011-05-06 21:12:13 (<-- bunu)
2001-08-06 16:12:13
2011-09-06 18:12:43
2009-01-06 11:12:13
2012-02-06 12:17:55
2010-03-06 14:15:13
2012-05-06 11:19:23 (<-- ve bunu)
SELECT * FROM tablom WHERE MONTH(tarih_sutunum) = 5
2 tarih arasını listeleme
select * from tablom where tarih_sutunum between '2012-05-01' and '2012-05-31';
Mysql de son 15 günün verisini çekme
SELECT * FROM tabloAdi WHERE tarih BETWEEN DATE_SUB( CURDATE() ,INTERVAL 15 DAY ) AND CURDATE()
Mysql de son bugüne ait verileri çekme
SELECT * FROM tabloAdi WHERE DAY(tarih) = DAY(CURDATE());
Mysql de bu haftaya ait verileri çekme
SELECT * FROM tabloAdi WHERE WEEK(tarih) = WEEK(CURDATE());
Mysql de bu aya ait verileri çekme
SELECT * FROM tabloAdi WHERE MONTH(tarih) = MONTH(CURDATE());
Mysql de son 10 ay ile 5 ay arasındaki tarih aralığına göre veri çekme
select * from tabloAdi where tarih BETWEEN DATE_SUB( CURDATE() ,INTERVAL 10 MONTH ) AND DATE_SUB( CURDATE() ,INTERVAL 5 MONTH )
Geçen ay için ise
MONTH(CURDATE()-INTERVAL 1 MONTH)
Eğer sadece gün, ay, yıl verileri yeterliyse date olarak tutmayı tavsiye ederim,
eğer gün, ay, yıl ve saat de gerekliyse timestamp olarak kaydedilebilir
11 Yorum
Ahmet Kılıvan / 6 yıl önce
Güzel Çalışma - Tebrikler.
ismail / 7 yıl önce
son 1 günün verisini alırken son 24 saat mi kastediliyor yoksa. saat saat 23:59 da bi kayıt eklendi. 00:00 olduğunda o kayıt gün içine girmiyor mu.
murat gülen / 6 yıl önce
merhabalar bu yıl için WHERE YEAR(tarih) = YEAR(CURDATE()); yaptım ama sonuç alamadım nasıl yapabilirim.
admin / 6 yıl önce
veritabanındaki tarih alanınızı date formatına çevirmelisiniz. Kodunuz ancak bu şekilde çalışır.
ali / 6 yıl önce
hocam şu sorgu; SELECT * FROM tabloAdi WHERE DAY(tarih) = DAY(CURDATE()); aynı güne ait farklı aylarında verilerini çekiyor
admin / 6 yıl önce
DAY(CURDATE()) demek ayın hangi günü ise o günü yazdırır. Bugün için 06 gibi. Diğer ayları istemiyorsan, bu gün dogumgünü olanları çekmek gibi bir şey istiyorsan sorgun şu sekilde olmalı: SELECT * FROM tabloAdi WHERE DAY(tarih) = DAY(CURDATE()) and month(tarih) = month(CURDATE())
Sezgin Sevinc / 5 yıl önce
Allah razı olsun çok işime yaradı
Yorumlayan / 5 yıl önce
Yorumunuz Onaylandıktan Sonra Yayınlanacaktır.
Yorumlayan / 4 yıl önce
Yorumunuz Onaylandıktan Sonra Yayınlanacaktır.
Yorumlayan / 3 yıl önce
Yorumunuz Onaylandıktan Sonra Yayınlanacaktır.
Yorumlayan / 3 yıl önce
Yorumunuz Onaylandıktan Sonra Yayınlanacaktır.