PHP Mysql Bu Ay ve Geçen Ayın Verilerini Listelemek

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>

“PHP Mysql Bu Ay ve Geçen Ayın Verilerini Listelemek” üzerine 2 yorum

  1. 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.

  2. 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

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.