Javascript HTML alarm list

Javascript HTML alarm list
« kdy: 14. 01. 2021, 17:04:53 »
Dobry den.
Mam netradicnu otazku. Programujem interface pre svoj miniprojekt. Rozhranie je cez webovu aplikaciu.
Aplikacia mi do databazy zapisuje vzdy do noveho riadku udaje o teplote a sile vetra. Rad by som mal v aplikacii okno do ktoreho by sa vzdy postupne pod seba pridavala vzdy posledna hodnota vlozena do databazy. Neviem si vsak poradit s tym ako napisat script tak aby mi vzdy pod seba vypisoval nove hodnoty a zapametal si tie stare, ktore su uz tam. Moze ma niekto nasmerovat ako na to?


Mlocik97

  • *****
  • 502
  • In love with Linux
    • Zobrazit profil
    • E-mail
Re:Javascript HTML alarm list
« Odpověď #1 kdy: 14. 01. 2021, 17:19:42 »
Zapamätal, myslíš na ako dlho? Môžeš využiť SessionStorage alebo LocalStorage,... hodnoty pripájaš spôsobom [nová_hodnota, ...stara_hodnota] a spätne zapíšeš do SessionStorage alebo LocalStorage. Zo starých hodnôt si zisti poslednú, ktorú máš, a povedz že serveru že od tejto hodnoty novšie chceš aby ti server z databázy poslal, nemusíš posielať priamo hodnotu, ale napríklad identifikátor, alebo dátum a čas v ISO forme (a budeš si napríklad poznačovať, kedy si naposledy sťahoval dáta zo serveru).
« Poslední změna: 14. 01. 2021, 17:23:19 od Mlocik97 »

Re:Javascript HTML alarm list
« Odpověď #2 kdy: 14. 01. 2021, 17:40:54 »
jak nato jako koukám na ten dotaz tak jakoby rači začni uplně jednoduše že si z databáze ždycky vytáhneš posledních n záznamů nějakejch seřazenejch a ukážeš je v nějaký tabulce :) ;)


Re:Javascript HTML alarm list
« Odpověď #3 kdy: 14. 01. 2021, 19:54:43 »
jak nato jako koukám na ten dotaz tak jakoby rači začni uplně jednoduše že si z databáze ždycky vytáhneš posledních n záznamů nějakejch seřazenejch a ukážeš je v nějaký tabulce :) ;)

Ano,  to je snadné řešení - vznikne jakoby časové okno které se bude posouvat.

Aktalizace na refresh stránky nebo iframu (brr) nebo aktualizace pomocí jquery bez reloadu (ajaxem nebo posílat ze serveru předgenerované html).

Mlocik97

  • *****
  • 502
  • In love with Linux
    • Zobrazit profil
    • E-mail
Re:Javascript HTML alarm list
« Odpověď #4 kdy: 14. 01. 2021, 20:24:57 »
Ano,  to je snadné řešení - vznikne jakoby časové okno které se bude posouvat.

Aktalizace na refresh stránky nebo iframu (brr) nebo aktualizace pomocí jquery bez reloadu (ajaxem nebo posílat ze serveru předgenerované html).

jquery?  :o bude na stránke aj <marquee> a <blink>, tabuľkový layout alebo frameset a nainštalujeme si aj netscape? Však tá vec oslabuje 15 rokov... zastaralé a nezmyselné na takéto použitie... ťahať 83.6kB pre ajax, keď máme priamo v JS natívne fetch()? A ten iframe si robíš srandu že?
« Poslední změna: 14. 01. 2021, 20:31:04 od Mlocik97 »


Re:Javascript HTML alarm list
« Odpověď #5 kdy: 14. 01. 2021, 21:08:22 »
No neviem co tak pozeram Wrana ma dobre prispevky takze zatial som to spravil ako "tabulku" ktora sa cez ajax "generuje" na zaklade toho co je v DB. Problem mi ale nastal ze aj ked mam 10 hodnot v DB tak mi to zobrazuje len 2 max 3 aj ked limit na vypis som nastavil na 5.
Kód: [Vybrat]
$query =  "select TOP (5) text from alarm_list'";
     $result = sqlsrv_query($db, $query);
     $row = sqlsrv_fetch_array($result) or die( print_r( sqlsrv_errors(), true));
     $record_exists = sqlsrv_has_rows( $result );
     if ($record_exists == true){
        while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC) ) {
            $output .= "<tr><td  class='bg-danger'>".$row['text']. "</td></tr>";
     }
    }
     else{
            $output .= "<tr><td style='text-align: center;font-size:25px;'>".$row['text']. "</td></tr>";
     }
     $output .= '</table>';       

     echo $output;

Mlocik97 : neboj nebude ;) A ajax pouzivam v tom pokuse na 9 miestach. Cele je to cislo localhost. Cele je to len viac menej len take precvicovanie. Jasne mohol by som si napisat interface v Pythone,C# ale chcel som web. Len akurat na toto som nenasiel vhodne riesenie tak som sa opytal.

Re:Javascript HTML alarm list
« Odpověď #6 kdy: 15. 01. 2021, 00:01:51 »
Ano,  to je snadné řešení - vznikne jakoby časové okno které se bude posouvat.

Aktalizace na refresh stránky nebo iframu (brr) nebo aktualizace pomocí jquery bez reloadu (ajaxem nebo posílat ze serveru předgenerované html).

jquery?  :o bude na stránke aj <marquee> a <blink>, tabuľkový layout alebo frameset a nainštalujeme si aj netscape? Však tá vec oslabuje 15 rokov... zastaralé a nezmyselné na takéto použitie... ťahať 83.6kB pre ajax, keď máme priamo v JS natívne fetch()? A ten iframe si robíš srandu že?

Tak to byste se divil co se ledaskde pořád udržuje v provozu. I to Jquery má stále ohromnou penetraci i když osobně bych taky radši viděl všude moderní API. Co se týče velikosti jsem teď dělal webové rozhraní pro embedded device kde byl limit na velikost cca 120kB se vším všudy - tam bych si s jquery neškrtnul, jedu tam ES6 a PureCSS, zabírá to těch 120kB a funguje to hezky.

Re:Javascript HTML alarm list
« Odpověď #7 kdy: 15. 01. 2021, 12:38:39 »
máš tam na víc místech fetch
takle nějak by to asi jako mohlo fungovat podle tady hele tutoriálu :) ;)
Kód: [Vybrat]
.
.
.
.
$query =  "select TOP (5) text from alarm_list";
$result = sqlsrv_query($db, $query );
if($result === false) {
    die(print_r(sqlsrv_errors(), true));
}

while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) {
    $output .= "<tr><td class='bg-danger'>".$row['text']. "</td></tr>";
}
$output .= '</table>';


.
.
.
.

sqlsrv_free_stmt($result);