$con jest to połączenie z db. Założenie jest dość proste act_tmp ma za zadanie wyciągnąć aktualny rekord z bazy, natomiast height_tmp ma za zadanie wyciągnąć z bazy najwyższą jego wartość. Jeżeli wrzucę do bazy liczbę 60 będzie ona zarówno aktualna jak i najwyższa. No i tu jest problem bo wyświetla mi tylko najwyższą wartość, a powinno wyświetlać jeszcze aktualną wartość. Nad wywołaniem funkcji cały czas pracuje na tę chwilę wygląda to tak:
plik get_data.php
<?php
require 'connectDB.php';
if(isset($_POST['data']) && !empty($_POST['data']))
{
switch($_POST['data'])
{
case '1' :
echo act_tmp($con);
break;
case '2' :
echo height_tmp($con);
break;
case '3' :
echo act_hum($con);
break;
}
}
function act_tmp($con) {
$result = $con->query("SELECT temp FROM temperature ORDER BY id DESC limit 1") or die(mysqli_error($con));
while ($row = mysqli_fetch_array($result)) {
$data = array(
"act_temp" => $row[0]
);
return $data['act_temp'];
}
$result->close();
}
function height_tmp($con) {
$result = $con->query("SELECT temp FROM temperature ORDER BY temp DESC limit 1") or die(mysqli_error($con));
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_array($result)) {
$data = array(
"highest_temp" => $row[0]
);
return $data['highest_temp'];
}
}
$result->close();
}
plik act_tmp.php
<script type="text/javascript">
var cacheData;
var data;
var auto_refresh = setInterval(
function () {
$.ajax({
url: 'get_data.php',
data: {data: '1'},
type: 'post',
dataType: 'html',
success: function (data) {
if (data !== cacheData) {
cacheData = data;
$("#hum").html(data);
}
}
})
}, 300
);
</script>
analogicznie wygląda plik height_tmp.php z tym że zmiana następuje w
data: {data: '2'}
, . A tu wrzut do wyświetlenia:
<?php
echo '<div class="grid-container">';
echo '<div class="grid-item">' . "The highest temperatur: " . '<span id="height_temp">';
require 'height_tmp.php';
echo '</span>' . '<sup>o</sup> C</div>';
echo '<div class="grid-item">' . "Actual temperatur is: " . '<span id="temp">';
require 'act_tmp.php';
echo '</span>' . '<sup>o</sup> C</div>';
echo '<div class="grid-item">' . "Actual humidity is: " . '<span id="hum">';
require 'act_hum.php';
echo '</span>' . '<sup>o</sup> C</div>';
echo '</div>';
?>
Dlaczego mieszam obiektowy z nieobiektowym - uczę się i kombinuje.