简体   繁体   English

如何在不到六个月前的PHP和MySQL中查找行,按月

[英]How to find rows from less than 6 months ago in PHP and MySQL, Month By Month

i have this SQL sentence when execute in phpmyadmin result is fine: 我在phpmyadmin中执行结果时有以下SQL语句:

SELECT COUNT(cid) as total from courier where pick_date > DATE_SUB(now(),
INTERVAL 6 MONTH) group by year(pick_date), MONTH(pick_date)

Result: 结果:

COUNT(cid)

221
380
368
315
140
204
54

But when i try in PHP only obtain one count 但是当我尝试使用PHP时只能获得一个计数

$out = array();
$sql="SELECT COUNT(cid) as total from courier where pick_date > DATE_SUB(now(), INTERVAL 6 MONTH) group by year(pick_date), MONTH(pick_date)";
$pquery=$pdo->query($sql);
$prow=$pquery->fetch_all(PDO::FETCH_ASSOC);
$out[]=$prow['total'];
echo implode( ", ", $out );

Actual Result: 221 实际结果:221

Expected:

221
380
368
315
140
204
54

Thanks in Advance... :) 提前致谢... :)

Check below code: 检查以下代码:

$out = array();
$sql="SELECT COUNT(cid) as total from courier where pick_date > DATE_SUB(now(), INTERVAL 6 MONTH) group by year(pick_date), MONTH(pick_date)";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_ASSOC); 

$out = array();
foreach($stmt->fetchAll() as $value) {
    $out[] = $value['total'];
}
echo implode(", ", $out );

Hope it helps you. 希望对您有帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM