Witam!
Bardzo proszę o pomoc w zakodowaniu wyniku działania skryptu do formatu JSON. Skrypt pobiera z bazy danych określoną ilość rekordów z danymi dotyczącymi wilgotności powietrza. Z pięciu kolejnych wartości wylicza średnią i przypisuje jej znacznik czasowy środkowego rekordu z pięciu. Wynik zapisywany jest w formacie JSON i stanowi źródło danych dla wykresu.
Oczekiwany format (dane bez uśrednienia):
[(http://meteososnowiec.pl/data_wilgotnosc_testy.php)]
Format aktualny (dane uśrednione) - kod do poprawy:
[http://meteososnowiec.pl/data_wilgotnosc_testy_7.php]
Kod skryptu (do poprawy):
$wynik_data = mysql_query("SELECT czas_datetime FROM tab_czujniki_2 ORDER BY czas_datetime DESC LIMIT 1"); if(mysql_num_rows($wynik_data) > 0) { $r = mysql_fetch_assoc($wynik_data); $datan = $r['czas_datetime']; $daten = new DateTime($data); $daten->modify('-10min'); $minus_data = $daten->format("Y-m-d H:i:00"); } $sth = mysql_query("SELECT czas_unix, wilgotnosc FROM tab_czujniki_2 WHERE czas_datetime >= '$minus_data' ORDER BY czas_datetime ASC") or die('Błąd zapytania'); while($r = mysql_fetch_array($sth)){ $rows[] = array(1000*($r['czas_unix']),$r['wilgotnosc']); } $sets = array_chunk($rows, 5); //var_dump($sets); foreach($sets as $key => $set) { if(count($set) !== 5) { continue; } $wynik['name'] = 'Wilgotnosc'; $wynik['data'] = array(); //$wynik['data'] = array(); $wynik[$key][] = $sets[$key][2][0]; $wynik[$key][] = (float) array_sum(array_column($sets[$key], 1))/5; } print json_encode($wynik, JSON_NUMERIC_CHECK);