Как найти строки менее 6 месяцев назад в PHP и MySQL, месяц за месяцем - PullRequest
0 голосов
/ 14 февраля 2019

у меня есть это предложение SQL, когда выполнить в phpmyadmin результат в порядке:

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

Результат:

COUNT(cid)

221
380
368
315
140
204
54

Но когда я пытаюсь в 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 );

Фактический результат: 221

Expected:

221
380
368
315
140
204
54

Заранее спасибо ...:)

1 Ответ

0 голосов
/ 14 февраля 2019

Проверьте ниже код:

$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 );

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...