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.