[ Príspevkov: 5 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 21.01.21
Príspevky: 434
Témy: 189 | 189
Bydlisko: Poprad

Ahojte, potrebujem tento PHP kód spúšťať na pozadí raz za 5 sekúnd.
Mám singleapp stránku. Podstránka je uložená v JS scripte.
Aby som mal aj posledné dáta z databázy v grafe, potrebujem manuálne spraviť refresh stránky, aby sa PHP kód znova vykonal. Je to pre Google Charts. Viete mi prosím poradiť ako to spustiť na pozadí? Skúšal som setInterval script, ale graf mi vypísal, že nemá žiadne stĺpce.. Neviem sa ďalej pohnúť, skúšam všetko, čo sa len dá.
PHP kód:
Kód:
$result3 = mysqli_query($con,"SELECT * FROM xyz WHERE date(time) = CURDATE()") or die(mysqli_error($con));
$rows3 = array();
$table3 = array();
$table3['cols'] = array(
    array('label' => 'time', 'type' => 'string'),
    array('label' => 'Teplota', 'type' => 'number')
   );
    foreach($result3 as $r3) {
$cas3 = strtotime($r3['time']);
   $cas3 = date('H:i',$cas3);
        $temp3 = array();
        // The following line will be used to slice the Pie chart
        $temp3[] = array('v' => (string) $cas3);
        $temp3[] = array('v' => (float) $r3['teplotahala']);
       // $temp[] = array('v' => (float) $r['teplota2']);
        $rows3[] = array('c' => $temp3);
        }
$table3['rows'] = $rows3;
$jsonTable3 = json_encode($table3);


Script:
Kód:
<script type="text/javascript">
      google.load('visualization', '1', {'packages':['corechart']});
   
   function drawChart3(dataTable) {
     var data = new google.visualization.DataTable(dataTable);
     var options = {
         title: '4-minútový vývoj teploty haly - DNES',
         colors: ['red'],
         pointSize: 5
         //is3D: 'true',
         //width: 800,
         //height: 400
     };
     var chart = new google.visualization.LineChart(document.getElementById('chart_div3'));
     chart.draw(data, options);
   }
</script>

Div na vykreslenie grafu:
Kód:
<div id="chart_div3" style="display: block; max-width: 100%; height: auto;"></div>
<script type="text/javascript">
  drawChart3(<?=$jsonTable3?>);
</script>

Takto to funguje ako celok, ale mám vždy po refreshi čerstvé dáta, inak nie. Stačí mi ak sa pri otvorení podstránky tieto dáta aktualizujú, nemusia sa aktualizovať furt na pozadí, aby sa graf sám dopĺňal real-time.. Ďakujem vám za pomoc.


Offline

Skúsený užívateľ
Skúsený užívateľ
Spustenie PHP na pozadí, aby s ním dokázal pracovať JS kód

Registrovaný: 19.03.07
Prihlásený: 22.01.21
Príspevky: 6990
Témy: 84 | 84
Bydlisko: BA

Nedal som si cas na pochopenie kodu.
Ak potrebujes pustat php na pozadi, nezavislo od toho, ci niekto je alebo nie je na stranke, tak na to mas cron (pod linuxom/server)
Ak to chces pustat zo strany klienta(kazdych 5 sekund poslat request na server) tak odporucam pouzit ajax.


_________________
Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 &
Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 &
Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 21.01.21
Príspevky: 434
Témy: 189 | 189
Bydlisko: Poprad

Chcem to spúšťať iba ak niekto je na serveri. Skúšal som to cez setinterval get metódou a nešlo to, lebo tie dáta sa javascriptu nepredali. Výpis bol, že no columns.
Musím pri tej ajax metóde využiť aj niečo ako load? Alebo POST?


Offline

Skúsený užívateľ
Skúsený užívateľ
Spustenie PHP na pozadí, aby s ním dokázal pracovať JS kód

Registrovaný: 19.03.07
Prihlásený: 22.01.21
Príspevky: 6990
Témy: 84 | 84
Bydlisko: BA

na to je ajax. Je to ansynchronna komunikacia (cize sa nic neobnovuje, iba sa meni stranka podla odpovede)
https://www.w3schools.com/js/js_ajax_intro.asp


_________________
Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 &
Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 &
Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3

1. To čo chceš, ti zaistí ajax. Najprv is o ňom niečo prečítaj...

2. Hoď si na stránku jQuery, trochu to uľahčí prácu
Kód:
<script src="http://code.jquery.com/jquery-3.3.1.min.js"></script>


3. Potrebuješ samostatný php skript, ktorý ti naservíruje dáta v jsone. Takže si urob samostatný súbor, do ktorého dáš ten php kód, čo si sem poslal a zakončíš ho echo $jsonTable3; (čiže keď pristúpiš na ten súbor z prehliadača, zobrazí sa ti json)

4. Do javascriptu pridáš setInterval na každých 5 sekúnd. V ňom vykonáš ajax call na pripravený php súbor a do .done dáš update celého grafu zo získaných dát. Nejako takto
Kód:
jQuery.get('tumamdata.php')
.done(function(data) {
    drawChart3(JSON.parse(data));
});


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
 [ Príspevkov: 5 ] 


Spustenie PHP na pozadí, aby s ním dokázal pracovať JS kód



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

button na refresh a spustenie skriptu na pozadi

v HTML, XHTML, XML, CSS

2

168

30.12.2014 8:38

hatto13

V tomto fóre nie sú ďalšie neprečítané témy.

spustenie linux scriptu cez php

v PHP, ASP

4

584

20.10.2008 11:50

TommyHot

V tomto fóre nie sú ďalšie neprečítané témy.

spustenie konzoloveho programu v php

v PHP, ASP

2

390

28.03.2008 16:13

PedroFuture

V tomto fóre nie sú ďalšie neprečítané témy.

spustenie .sh suboru cez php

v PHP, ASP

2

484

19.07.2007 13:19

zero0x

V tomto fóre nie sú ďalšie neprečítané témy.

php spustenie strankky-prihlasovacie meno

v PHP, ASP

3

476

04.09.2008 22:05

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

spustenie EXE suboru pomocou PHP

v PHP, ASP

4

314

07.02.2014 13:46

neopagan

V tomto fóre nie sú ďalšie neprečítané témy.

Spustenie php na serveri z dosu

v Ostatné

2

466

01.06.2008 20:41

haho

V tomto fóre nie sú ďalšie neprečítané témy.

PHP kod, pomoc

v PHP, ASP

6

521

21.09.2008 17:52

Blackdevil

V tomto fóre nie sú ďalšie neprečítané témy.

zdrojovy php kod stranky

v PHP, ASP

4

512

20.09.2007 19:22

qacer

V tomto fóre nie sú ďalšie neprečítané témy.

Ajax na PHP kód

v JavaScript, VBScript, Ajax

4

308

06.10.2017 21:01

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

Na webe nefunkčný php kód

v PHP, ASP

4

393

28.02.2011 21:52

masliak

V tomto fóre nie sú ďalšie neprečítané témy.

Poslat do inputu php kód

v PHP, ASP

7

320

11.08.2012 23:43

1daemon1

V tomto fóre nie sú ďalšie neprečítané témy.

Ako vložiť do HTML php kod

v HTML, XHTML, XML, CSS

26

2980

14.05.2008 14:25

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

pri výpise z datzabázy mi nevypíše celý php kód

v PHP, ASP

2

330

13.04.2009 18:39

Unlink

V tomto fóre nie sú ďalšie neprečítané témy.

Ako pridat PHP kod do clanku v red.systeme Joomla

v Redakčné systémy

11

1471

04.07.2008 23:03

ser1a

V tomto fóre nie sú ďalšie neprečítané témy.

Dokázal by to niekto zostrojiť?

v Elektronika

8

931

25.02.2013 23:10

LubosOCXO



© 2005 - 2021 PCforum, edited by JanoF