![]() |
![]() ![]() |
![]() |
![]()
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? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 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. |
|
|
![]()
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? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Grupować po stronie SQL.
|
|
|
![]()
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?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 13 Dołączył: 7.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 10:09 |