Skocz do zawartości

SOYER

Użytkownicy
  • Zawartość

    870
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    6

SOYER wygrał w ostatnim dniu 18 stycznia

SOYER ma najbardziej lubianą zawartość!

Reputacja

96 Bardzo dobra

1 obserwujący

O SOYER

  • Ranga
    7/10

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Kryry

Ostatnio na profilu byli

333 wyświetleń profilu
  1. Zrobiłem ten max min i srednią. Najwięcej czasu zajęło mi opanowanie pokolorowania wkładanych przez jquery zmiennych, tak by podświetlały się na czerwono.... ach te nawiasy i przecinki... Zrobilem kolejne trzy skrypty php z zapytaniami: $sqlOdczyt="SELECT min(${czujnik}) FROM ${base} WHERE czas > DATE(DATE_SUB(NOW(), INTERVAL ${okres} DAY))"; $sqlOdczyt="SELECT max(${czujnik}) FROM ${base} WHERE czas > DATE(DATE_SUB(NOW(), INTERVAL ${okres} DAY))"; if($polaczenie->connect_errno!=0){ die("Error: ".$polaczenie->connect_errno."Opis: ".$polaczenie->connect_error); } $typ = $polaczenie->real_escape_string($typ); $sqlOdczyt="SELECT avg(${czujnik}) FROM ${base} WHERE czas > DATE(DATE_SUB(NOW(), INTERVAL ${okres} DAY))"; $odczyt=$polaczenie->query($sqlOdczyt); while($row = $odczyt->fetch_row()){ $result[] = $row; } echo json_encode($result); ?> ten ostatni to średnia, jak sprawić by wartość przesyłana miała tylko np. dwa miejsca po przecinku? EDIT: funkcja round() w kwerendzie chyba będzie najlepszym rozwiązaniem. skrypt od wykresów i wartości max/min/srednia: function okresCzujnik() { var okres = $( "#okres" ).val(); var czujnik = $( "#czujnik" ).val(); if (czujnik == "cisnienie"){var m = "hPa";var b = "mega";} else if (czujnik == "wilgZew"){var m = "%RH";var b = "mega";} else if ((czujnik == "tempZew")||(czujnik == "tempGrunt")||(czujnik == "tempSlonce")){var m = "°C";var b = "mega";} else if((czujnik == "pm1") || (czujnik == "pm2") || (czujnik == "pm10")){ var b = "pms";var m = "µg/m³";} $.ajax({url: "getMin.php", dataType: 'json', data:{b: b, c: czujnik, o: okres}, success: function(res){ $("#min").html('Wartość <span style="color:red;">minimalna</span> dla wybranego okresu i parametru wynosi: <span style="color:red;font-weight:bold;">'+res+' '+m+'</span>'); }}); $.ajax({url: "getSred.php", dataType: 'json', data:{b: b, c: czujnik, o: okres}, success: function(res){ $("#srednia").html('Wartość <span style="color:red;">średnia</span> dla wybranego okresu i parametru wynosi: <span style="color:red;font-weight:bold;">'+res+' '+m+'</span>'); }}); $.ajax({url: "getMax.php", dataType: 'json', data:{b: b, c: czujnik, o: okres}, success: function(res){ $("#max").html('Wartość <span style="color:red;">maksymalna</span> dla wybranego okresu i parametru wynosi: <span style="color:red;font-weight:bold;">'+res+' '+m+'</span>'); }}); $.ajax({url: "getChart.php", dataType: 'json', data:{b: b, c: czujnik, o: okres}, success: function(res){ wykres(res, "Wykres "+okres+"-dniowy", '#wykresy', m); }}); } $( "select" ).change(okresCzujnik);
  2. Nic strasznego nie widziałem w laleczce, uważałem, że będzie hit, jednak pokazałem filmik mojemu 7 letniemu synowi któremu nic nie jest straszne, ale powiedział, że ta lalka jest straszna, okropna, w sensie budząca strach. Zdziwko, ale widocznie coś w tym jest... On, fan robotów i transformersów, nie chce takiej...
  3. a co to ten explain... co tłumaczy;)?
  4. Działać działa, bo sprawdzam na bieżąco, po prostu próbuję zrozumiec zależności....
  5. ok, czyli jeśliby stosować mój przykład to powinno być tak: SELECT czas, cisnienie FROM mega WHERE ((czas > DATE(DATE_SUB(NOW(), INTERVAL 7 DAY))) && (cisnienie = (SELECT MIN(cisnienie)where czas > DATE(DATE_SUB(NOW(), INTERVAL 7 DAY))))) orderby czas desc limit 1
  6. Siedzę dzisiaj nad impelmentacją tego kalendarzowego wybierania okresu i wartości max, min i srednia. Na razie kombinuję nad zapytaniami do bazy, bo raczej muszę to zrobić na nowym skrypcie PHP. Takie zapytanie wydaje się działać, ale jest to na tyle zagnieżdżone, że wolę zapytać czy nie ma jakiegoś kardynalnego błędu w rozumowaniu: SELECT czas, cisnienie FROM mega WHERE ((czas > "2019-02-02") && (czas < "2019-02-14") && (cisnienie = (SELECT min(cisnienie)))) order by czas desc limit 1 SELECT avg(cisnienie) FROM mega WHERE ((czas > "2019-02-02") && (czas < "2019-02-03")) lub SELECT czas, cisnienie FROM mega WHERE ((czas > DATE(DATE_SUB(NOW(), INTERVAL 7 DAY))) && (cisnienie = (SELECT MIN(cisnienie)))) order by czas desc limit 1 SELECT avg(cisnienie) FROM mega WHERE (czas > DATE(DATE_SUB(NOW(), INTERVAL 7 DAY))) ??
  7. SOYER

    ESP8266 - totalne podstawy

    Poczytaj też tu
  8. SOYER

    ESP8266 - totalne podstawy

    Też to pezechodziłem;)
  9. <div id="tytul"><u>WYKRESY:</u></div> <div class="wstWybor" ><select id="okres"> <option selected disabled >Wybierz zakres czasu</option> <option value="7">Dane z 7 dni</option> <option value="14">Dane z 14 dni</option> <option value="30">Dane z 30 dni</option> <option value="90">Dane z 90 dni</option> <option>Dowolny okres czasu</option> </select> <select id="czujnik"> <option selected disabled>Wybierz czujnik</option> <option value="tempZew">Temperatura zewnętrzna</option> <option value="tempSlonce">Temperatura w słońcu</option> <option value="tempGrunt">Temperatura przy gruncie</option> <option value="cisnienie">Ciśnienie</option> <option value="wilgZew">Wilgotność</option> <option value="pm1">Stężenie pyłu PM1</option> <option value="pm2">Stężenie pyłu PM2,5</option> <option value="pm10">Stężenie pyłu PM10</option> </select> </div> <div id="wykresy"></div> function okresCzujnik() { var okres = $( "#okres" ).val(); var czujnik = $( "#czujnik" ).val(); if (czujnik == "cisnienie"){var m = "hPa";var b = "mega";} else if (czujnik == "wilgZew"){var m = "%RH";var b = "mega";} else if ((czujnik == "tempZew")||(czujnik == "tempGrunt")||(czujnik == "tempSlonce")){var m = "°C";var b = "mega";} else if((czujnik == "pm1") || (czujnik == "pm2") || (czujnik == "pm10")){ var b = "pms";var m = "µg/m³";} $.ajax({url: "getChart.php", dataType: 'json', data:{b: b, c: czujnik, o: okres}, success: function(res){ wykres(res, "Wykres "+okres+"-dniowy", '#wykresy', m); }}); } $( "select" ).change(okresCzujnik); function wykres(dane, naglowek, div, miano){ var dataset = [{label: naglowek, data: dane}]; var options = { legend: { show: true, labelBoxBorderColor: "#FF00CC", margin: [250,-50], backgroundOpacity: 0.9, }, series: { lines: { show: true, lineWidth:1, color: "#FF00CC"}, points: { radius: 1, fill: false, fillColor: "#FF00CC", show: false } }, colors:['#FF00CC','#CC0000'], grid: { hoverable: true, clickable: false, borderColor: '#CC0000', borderWidth: 1, labelMargin: 1, backgroundColor: '#FFF' }, yaxis: { axisLabel: miano, }, xaxis: { mode: "time", axisLabel: 'czas', }, } $.plot($(div), dataset, options); } Z telefonu: Zrobiłem osobną stronę, jak radziłeś. Znacząco to rozjaśniło kod. Pozmieniałem menu, wszystko działa z taba. Zostały mi max, min i średnia, odczytywanie głosowe;-), i co jeszcze?
  10. taki mały offtopic, @Treker, ten licznik odwiedzin wątku dobrze działa? Bo pamiętam jak patrzyłem koło 2 miesiące temu było 5000, a teraz dobija do 15000. Nie wiem ile z tego jest unikalnych użytkowników ale jakoś dziwnie, teatr dwóch aktorów:), nikt się nie dołącza...? ;))
  11. no i max, min i średnia za podany okres... ten selektor 7/14/30...może faktycznie już na podstronie, było by wygodniejsze... Ale kto to napisze i zgra;))? Siądę wieczorem... jak masz jeszcze jakieś pomysły to dajesz...
  12. Jak? Tak, bez problemu, odpisujesz w funkcji wykres tylko dodatkową wartość dane, no i trzeba je pobrać... Jeśli chodzi o opisy przy osi czasu to wyskakują automatycznie, zależnie od zasięgu, tyle że miesiąc in English, ale to jest ustawialne jak kojarzę... Druga kwestia to właśnie myślałem nad takim kalendarzem gdzie sobie wybieram okres od do i wyświetla wykres. Ale to na razie poza moim zasięgiem...
  13. Zrobiłem ten skrypt obsługi wykresów i ich wywolywanie: <script> function wykres(dane, naglowek, div, czujnik){ var dataset = [{label: naglowek, data: dane}]; var options = { legend: { show: true, labelBoxBorderColor: "#FF00CC", margin: -50, backgroundOpacity: 0.9, }, series: { lines: { show: true, lineWidth:1, color: "#FF00CC"}, points: { radius: 1, fill: false, fillColor: "#FF00CC", show: false } }, colors:['#FF00CC','#CC0000'], grid: { hoverable: true, clickable: false, borderColor: '#CC0000', borderWidth: 1, labelMargin: 1, backgroundColor: '#FFF' }, yaxis: { axisLabel: czujnik, min: -20, max: 35, }, xaxis: { mode: "time", axisLabel: 'czas', }, } $.plot($(div), dataset, options); } </script> $('#7dni').click(function(){ $('#container').hide(); $('#w14').hide(); $('#m1').hide(); $('#m3').hide(); $('#w7').show(); $.ajax({url: "getChart.php", dataType: 'json', data:{b:'mega', c: 'tempZew', o: '7'}, success: function(res){ wykres(res, "Wykres 7-dniowy", '#w7', "Temperatura zewnętrzna"); }}); $('#mnie').hide(); }); $('#14dni').click(function(){ $('#container').hide(); $('#w14').show(); $.ajax({url: "getChart.php", dataType: 'json', data:{b:'mega', c: 'tempZew', o: '14'}, success: function(res){ wykres(res, "Wykres 14-dniowy", '#w14', "Temperatura zewnętrzna"); }}); $('#m1').hide(); $('#m3').hide(); $('#w7').hide(); $('#mnie').hide(); }); $('#miesiac').click(function(){ $('#container').hide(); $('#w14').hide(); $('#m1').show(); $.ajax({url: "getChart.php", dataType: 'json', data:{b:'mega', c: 'tempZew', o: '30'}, success: function(res){ wykres(res, "Wykres 30-dniowy", '#m1', "Temperatura zewnętrzna"); }}); $('#m3').hide(); $('#w7').hide(); $('#mnie').hide(); }); $('#3miesiace').click(function(){ $('#container').hide(); $('#w14').hide(); $('#m1').hide(); $('#m3').show(); $.ajax({url: "getChart.php", dataType: 'json', data:{b:'mega', c: 'tempZew', o: '90'}, success: function(res){ wykres(res, "Wykres 90-dniowy", '#m3', "Temperatura zewnętrzna"); }}); $('#w7').hide(); $('#mnie').hide(); }); argumenty do wykres() będę musiał do tablicy zapisać jak pięknie pokazałeś, bo dużo się ich robi... i przy okazji też tablice do php-a... i zapytanie: $sqlOdczyt="select unix_timestamp(czas) * 1000, ${czujnik} from ${base} WHERE czas > DATE(DATE_SUB(NOW(), INTERVAL ${okres} DAY))"; Teraz to i tak muszę poprzerabiać, bo chcę w każdej podstronie z menu 7/17/30/90 dni mieć wybór którego czujnika ma dotyczyc wykres.... jakieś przyciscki, rozwiajane menu czy cóś... Choć może prościej by było zrobić na głównej podmenu historyczne z czujnikami, a potem wybór okresu czasowego. Pewnie na jedno wychodzi... Jakiś ciekawy pomysł na to??
  14. o tej funkcji to od razu pomyślałem jak pisałem ten kod, bo bez sensu byłoby przepisywanie go dla każdego wykresu osobno... jednak rano sprawdzałem czy mi to w ogóle zadziała, a jak zadziałało to się pochwaliłem i do pracy trza było iść... nawet dobrze, że się pochwaliłem, bo podrzuciłeś fajne przykłady;-).
  15. Ależ na początku jak zacząłeś mi pomagać to miałem tylko tego html jak kazał @Elvis, jakbyś wtedy kazał zaorać to pewnie tak bym zrobił. Chociaż nie wyobrażam sobie pracy na Lynxie. Otóż to, nie lepiej od razu wpaść do mojego wątku i napisać swoje zdanie.... @Treker notujesz wszystko;)?
×