Cześć to znowu ja, wybaczcie za moje pytania.
Chcę periodycznie pobierać dane z Mysql i wyświetlać na HTML.
Do odświerzania urzywam JS.
Tak to wygląda.
<html>
<head>
<title>Auto refresh</title>
</head>
<body>
<div id="id"></div>
<div id="val1"></div>
<div id="val2"></div>
<div id="txt"></div>
<script type="text/javascript" src="jquery-3.2.1.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
//$('#val1').load('load.txt');
//document.getElementById("val1").innerHTML = 5 + 6 + 138;
refresh();
});
function refresh()
{
setTimeout(function()
{
var val = new Array(
<?php
$host = 'localhost';
$login = 'root';
$password = 'pass';
$db_name = 'db';
$connect;
$connect = new mysqli($host, $login, $password, $db_name);
/*if (!$connect)
{
$c=1;
}
else
{
$c=0;
}*/
$result = $connect->query("SELECT * FROM r_send ORDER BY id DESC LIMIT 1");
$data = $result->fetch_array();
$result->close();
echo $data['id'], ", ", $data['val1'],", ", $data['val2'];
?>
);
document.getElementById("id").innerHTML = val[0];
document.getElementById("val1").innerHTML = val[1];
document.getElementById("val2").innerHTML = val[2];
$('#txt').load('load.txt');
refresh();
},1000);
}
</script>
</body>
</html>
Dane z bazy się pobierają do tablicy val ale tylko jeden raz tzn. po wejsciu na stronę. Gdy coś dodam do DB to nowy wynik już się nie wyświetli na stronie tylko muszę ją odświerzyć ręcznie. Natomiast dane z pliku tekstowego się odświerzają co jedną sekundę. Sprawdziłem to, inny program zapisuje losowe wartości do DB(val1 i val2, id jest incrementowane) i do pliku tekstowego. To co napisałem jest OK?