Сейчас я создаю файл 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);
}
}
Пожалуйста!! Мне нужна ваша помощь!!!
Вы можете сделать что-то подобное. Это создаст запись массива для каждого месяца вашего запроса 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));
Других решений пока нет …