Массив для JSON Месяц сумма столбца

Сейчас я создаю файл json для своего графика. Я хотел бы получить вывод

[{ «Ц»: «сентябрь», «Ph»: 23}, { «ц»: «Июль», «Ph»: 13}]

где сентябрь ph эквивалентен значениям: 10,8,2,3, а июль ph эквивалентен 10 и 3 из моей базы данных.

Но реальность такова, что я получил только этот вывод

[{ «ц»: «сентябрь», «Ph»: 23}]

который пришел из кода ниже. Я хотел добавить июль ph добавленные значения.

$sumsep = 0;
$sumjul = 0;
while($row = mysqli_fetch_array($result))
{
/* Push the results in our array */
//   $point = array("ts" =>  date('m',strtotime($row['time_stamp'])) ,"ph" =>  $row['ph']);
$monthNum = date('m',strtotime($row['time_stamp']));
$dateObj   = DateTime::createFromFormat('!m', $monthNum);
$monthName = $dateObj->format('F');

if(($monthName=="September")){
$data_points = array();
$sumsep += $row['ph'];
$point = array("ts" =>  $monthName,"ph" =>  $sumsep);
array_push($data_points,$point);
}

}

Пожалуйста!! Мне нужна ваша помощь!!!

0

Решение

Вы можете сделать что-то подобное. Это создаст запись массива для каждого месяца вашего запроса MySQL и суммирует его.

// Init your data point by month array
$data_points = array();
while($row = mysqli_fetch_array($result)) {
$monthNum = date('m',strtotime($row['time_stamp']));
$dateObj   = DateTime::createFromFormat('!m', $monthNum);
$monthName = $dateObj->format('F');

// Check if already a result for this month
if (array_key_exists($monthName, $data_points)) {
// Sum you pH
$data_points[$monthName]->ph += $row['ph'];
} else {
// Create first pH entry for month
$data_points[$monthName] = new stdClass();
$data_points[$monthName]->ph = $row['ph'];
$data_points[$monthName]->ts = $monthName;
}
}
// Extract only result (months name as key not needed)
echo json_encode(array_values($data_points));
1

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector