1. Yol Mysql’de Bu ayın verilerini sorgulamak için kullanılan yapı:
SELECT* FROM tablo_adi where eklenme_tarihi >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH);
Bunu kullanarak direk son 1 aylık verileri listeleyebilirsiniz. Bu sorgunun sağlıklı çalışabilmesi için eklenme_tarihi sütununun date yapısında oluşturulmuş olması gerekmektedir.
2. Yol PHP kullanarak gelen verilerden bu ayın verilerini filtrelemek
Ben bunun dışında farklı bir yol kullanıyorum öncelikle mantığını anlatmak gerekirse, tablo_adi ismindeki tablodan tüm verileri çekiyorum, foreach içinde yazdırırken date(“m.Y”) ile bu ay yılı $buayy isimli değişkende tutup, if kullanarak gelen verinin ay günü yılı ($buayg) ile bu ayın ay günü yılı ($buayy) eşit mi değil mi diye bakıp eşitse sırala diyorum. Örneğin:
<?php $sorgu_cumlesi="SELECT * FROM tablo_adi"; $sorgu = mysql_query($sorgu_cumlesi); while($satir=mysql_fetch_array($sorgu)) { $veriler[$satir['id']]=$satir; } ?> <?php $sirano=1; ?> <?php foreach ($veriler as $buay) : ?> <?php $buayg = $buay['eklenme_tarihi']; $buayy = date("m.Y", strtotime($buayg)); $buaybu = date("m.Y"); ?> <?php if ($buayy==$buaybu) { ?> <tr> <td> <?php $say = $sirano++; echo $say; ?> </td> <td> <?php echo date('d.m.Y', strtotime($buayg)); ?> </td> <td> <?php echo $buay['aciklama']; ?> </td> </tr> <?php } ?> <?php endforeach; ?>
** Bu yapıda eklenme_tarihi isimli tablonun yapısının date yada d-m-Y formatında olması gerekmektedir.
Geçen Ayın Verilerini Listelemek için de benzer bir yapı kullanarak $gecenayy değişkeninde geçen ay yılı tutup, kayıtlardan geçen ay yılın verileriyle uyuşanları listelemek için kod örneğim:
<?php $sorgu_cumlesi="SELECT * FROM tablo_adi"; $sorgu = mysql_query($sorgu_cumlesi); while($satir=mysql_fetch_array($sorgu)) { $veriler[$satir['id']]=$satir; } ?> <?php $sirano=1; ?> <?php foreach ($veriler as $buay) : ?> <?php $buayg = $buay['eklenme_tarihi']; $buayy = date("m.Y", strtotime($buayg));$gecenayy = strtotime("last Month");$gecenay = date("m.Y", $gecenayy); ?> <?php if ($buayy==$gecenay) { ?> <tr> <td> <?php $say = $sirano++; echo $say; ?> </td> <td> <?php echo date('d.m.Y', strtotime($buayg)); ?> </td> <td > <?php echo $buay['aciklama']; ?> </td> </tr>
Merhaba
MYSQL’de bir listem var. ben sadece 2015 den bu yılına ait. Ben Bir istatistik sayfası yapmak istiyorum
yıl / ay = toplam kayıt id
2015.01 = 25 Kayıt Yapılmıştır
2015.02 = 75 Kayıt Yapılmıştır
–
–
2019.04 = 15 Kayıt Yapılmıştır
2019.05 = 450 Kayıt Yapılmıştır
2019.06 = 11 Kayıt Yapılmıştır
2019.07 = 175 Kayıt Yapılmıştır
bu şekilde aylık olarak nasıl yapabilirim.
ilgili tarihe göre şartlı sorgu yaptıktan sonra COUNT yaparak kayıt sayısının yazdırılması lazım örnek tablo ekran görüntüsü vs gönderebilirseniz ona göre bir sorgu yazabiliriz