$monthlyIncome1 = $MySQL->prepare("SELECT COUNT(*) AS SAYI, SUM(`gun`) AS GUN, SUM(`miktar`) AS CIRO FROM `girdiler` WHERE `date_cikis` LIKE :date_cikis", array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$monthlyIncome1->execute(array(":date_cikis" => date("Y")."-".date("m",strtotime('January'))."-%"));
$fetchMonthlyIncome1 = $monthlyIncome1->fetch(PDO::FETCH_OBJ);
$monthlyIncome2 = $MySQL->prepare("SELECT COUNT(*) AS SAYI, SUM(`gun`) AS GUN, SUM(`miktar`) AS CIRO FROM `girdiler` WHERE `date_cikis` LIKE :date_cikis", array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$monthlyIncome2->execute(array(":date_cikis" => date("Y")."-".date("m",strtotime('February'))."-%"));
$fetchMonthlyIncome2 = $monthlyIncome2->fetch(PDO::FETCH_OBJ);
$monthlyIncome3 = $MySQL->prepare("SELECT COUNT(*) AS SAYI, SUM(`gun`) AS GUN, SUM(`miktar`) AS CIRO FROM `girdiler` WHERE `date_cikis` LIKE :date_cikis", array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$monthlyIncome3->execute(array(":date_cikis" => date("Y")."-".date("m",strtotime('March'))."-%"));
$fetchMonthlyIncome3 = $monthlyIncome3->fetch(PDO::FETCH_OBJ);Böyle bir kod yapım bulunmakta Ocak ve Mart ayındaki verileri düzgün bir şekilde çekebiliyorum fakat Şubat ayını yazdırmak istediğimde yine mart ayının verilerini yazdırıyor.
<?=$fetchMonthlyIncome1->CIRO;?>, <?=$fetchMonthlyIncome2->CIRO;?>, <?=$fetchMonthlyIncome3->CIRO;?>
Bu bölümü aşağıda ki gibi değiştirerek test etmek istedim fakat bu seferde ocak ayının verilerini yazdırdı.
$monthlyIncome2->execute(array(":date_cikis" => date("Y")."-".date("m",strtotime('date("m")-1'))."-%"));Geri kalan 9 ayda da kodları kullanıyorum hiç bir sorun olmadan çalışıyor ama şubat ayına kesinlikle ulaşamıyorum
Şu şekilde deneyin;
$monthlyIncome1 = $MySQL->prepare("SELECT COUNT(*) AS SAYI, SUM(`gun`) AS GUN, SUM(`miktar`) AS CIRO FROM `girdiler` WHERE YEAR(`date_cikis`) = :year AND MONTH(`date_cikis`) = 1");
$monthlyIncome1->execute(array(":year" => date("Y")));
$fetchMonthlyIncome1 = $monthlyIncome1->fetch(PDO::FETCH_OBJ);
$monthlyIncome2 = $MySQL->prepare("SELECT COUNT(*) AS SAYI, SUM(`gun`) AS GUN, SUM(`miktar`) AS CIRO FROM `girdiler` WHERE YEAR(`date_cikis`) = :year AND MONTH(`date_cikis`) = 2");
$monthlyIncome2->execute(array(":year" => date("Y")));
$fetchMonthlyIncome2 = $monthlyIncome2->fetch(PDO::FETCH_OBJ);
$monthlyIncome3 = $MySQL->prepare("SELECT COUNT(*) AS SAYI, SUM(`gun`) AS GUN, SUM(`miktar`) AS CIRO FROM `girdiler` WHERE YEAR(`date_cikis`) = :year AND MONTH(`date_cikis`) = 3");
$monthlyIncome3->execute(array(":year" => date("Y")));
$fetchMonthlyIncome3 = $monthlyIncome3->fetch(PDO::FETCH_OBJ);date_cikis yılını ve ayını doğrudan SQL sorgusunda kontrol eder
Herhangi bir ayı sorgulamak içinde;
$monthlyIncome = $MySQL->prepare("SELECT COUNT(*) AS SAYI, SUM(`gun`) AS GUN, SUM(`miktar`) AS CIRO FROM `girdiler` WHERE YEAR(`date_cikis`) = :year AND MONTH(`date_cikis`) = :month");
$monthlyIncome->execute(array(":year" => date("Y"), ":month" => $month));
$fetchMonthlyIncome = $monthlyIncome->fetch(PDO::FETCH_OBJ);ancak $month değişkeni sorgulanacak ayın numarasını içermeli örneğin mart ayı ise $month değişkeni 3 olmalı