我希望将点的颜色更改为红色,蓝色和绿色,具体取决于数据库中每隔5秒后随机更新的值。我尝试过点击鼠标,但是如果我们希望在5秒后页面刷新时颜色会自动更改,可以做些什么?
例如,如果从数据库检索的值在30-40之间,我希望它是蓝色
其他40-60让它变成绿色 和60-70是红色的
else
{
header( "refresh:5;url=temperature.php" );
mysqli_query($con, "UPDATE sensor SET stemp=ROUND(RAND() * 40) + 30");
$res=mysqli_query($con,"Select * from sensor where sid='s1'");
while($row = mysqli_fetch_array($res))
{
echo "<font color='#F87431'>.<h1>". $row['stemp']." is the temperature of first sensor "."<br>"."</h1>";
}
?>
<html>
<body>
<h1>Department A</h1>
<img id="myImage" onclick="changeImage()" src="red.png" width="100" height="100">
<script>
function changeImage() {
var image = document.getElementById('myImage');
if (image.src.match("red")) {
image.src = "blue.png";
} else {
image.src = "red.png";
}
}
</script>
</body>
</html>
答案 0 :(得分:0)
只需使用元标记每5秒刷新一次页面。刷新时,它将再次查询数据库并获取当前颜色。
<meta http-equiv="refresh" content="0;URL='<?= $_SERVER['PHP_SELF']; ?>'" />
使用ajax获取新颜色。在jQuery中,您可以设置5秒的间隔并使用该间隔执行特定操作。
setInterval需要字符串格式的函数或可执行代码。
setInterval($.ajax/*a reference to the ajax function*/,
2000, {url: 'someurl', success: onSuccess, error: onError}
);