Группируйте по месяцам и возвращайте, и используйте 0, если данные не найдены

Я пытался создать два массива с количеством 0 и 1 в месяц.

До сих пор мне удавалось подсчитывать записи с 0 и 1 в возвращенном виде, но мне нужно значение 0, где нет элементов в месяце.
Это мой код:

$data1y=array();
$data2y=array();
$months = array();

$sql = "SELECT MONTH( date_in ) AS date_in_month , COUNT( date_in ) AS date_in_count , returned, COUNT( returned ) AS returned_count
FROM item
WHERE date_in >= NOW() - INTERVAL 1 YEAR
GROUP BY MONTH(date_in), returned";

$result = mysql_query($sql);

while(($row =  mysql_fetch_assoc($result))) {
if($row['returned']=='0')
{
$data1y[] = $row['returned_count'];
}
if($row['returned']=='1')
{
$data2y[] = $row['returned_count'];
}
}

for ($i = 1; $i <= 12; $i++) {
$months[] = date("M y", strtotime( date( 'Y-m-01' )." -$i months"));
}

Что мне нужно, это что-то вроде этого:

$data1y=array(0,80,0,0,47,80,40,116,47,80,40,116);
$data2y=array(0,30,0,0,61,30,82,105,61,30,82,105);

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]