Generowanie wykresu |
Generowanie wykresu |
8.07.2022, 15:53:07
Post
#1
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 13 Dołączył: 7.05.2007 Ostrzeżenie: (0%) |
Hej. Mam stację meteorologiczną z trzema czujnikami, która co minutę dokonuje odczytu, przesyła to do skryptu .php który zapisuje wszystko w bazie MySQL. Później generuję z tego wykres z pomocą Chart.js (po 4 słupki na godzinę, każdy ze średnią z 15 minut)
Kod PHP wygląda tak:
Kod HTML wygląda tak: https://pastebin.com/VQPFZPKF Nie do końca podoba mi się to rozwiązanie. Raz ze względu na obciążenie - prawie 300 kwerend dla trzech czujników. Dwa że kod jest bardzo skomplikowany a to tylko wykres dla jednego dnia. Boje się pomyśleć nad tygodniem, miesiącem a może rokiem. Czy istnieje coś innego, gotowiec, który generuje dane dla Chart.js który by mi w tym pomógł? Lub może w ogóle zrezygnować z MySQLa i oprzeć to na czymś innym? -------------------- |
|
|
8.07.2022, 15:55:32
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A dlaczego aż 300 kwerend?
Skoro generujesz dane z jakichś interwałów czasowych określonych w PHP, to możesz równie dobrze generować wyniki w SQL z większego zakresu czasowego i grupować według określonych przedziałów. -------------------- |
|
|
8.07.2022, 17:16:37
Post
#3
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 13 Dołączył: 7.05.2007 Ostrzeżenie: (0%) |
W sensie pobierać z SQLa w całości i grupować po stronie skryptu PHP?
Jakiś przykładowy kod na to? -------------------- |
|
|
9.07.2022, 08:39:46
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Grupować po stronie SQL.
-------------------- |
|
|
9.07.2022, 09:38:22
Post
#5
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 13 Dołączył: 7.05.2007 Ostrzeżenie: (0%) |
A jak grpować pole typu DATETIME przedziałami po 15 minut? Czy musiałbym przemodelować bazę danych i dorzucić kolejne pole oznaczające np. kolejny kwadrans doby?
-------------------- |
|
|
9.07.2022, 09:51:14
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
W zależności do którego kwadransu (bliższego/dalszego) ma wpadać czas możesz użyć CEIL lub FLOOR. -------------------- |
|
|
9.07.2022, 10:33:42
Post
#7
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 13 Dołączył: 7.05.2007 Ostrzeżenie: (0%) |
Dzięki, takie zapytanie rozwiązuje mój problem:
Klikam pomógł -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 24.09.2024 - 09:26 |