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>