HTML Checkbox,从服务器db显示当前值1/0,用户检查/取消选中并更新db

时间:2017-02-01 04:49:55

标签: html mysql checkbox

背景 - 我有一个RPI,连接了几个房屋周围的红外光束,PIR和簧片开关。如果有触发器,Python脚本会监视引脚的状态并通过无线婴儿监视器发出声音。有一组切换开关连接到I / O引脚,用于禁用单个区域或通过Python脚本更改发送短信或电子邮件视频抓取等行为。 Pi也是LAMP服务器,Python脚本在MySQL中记录事件。可以通过Web浏览器查看日志。

我的目标是删除切换开关组并替换为Web表单中的复选框,更新db中的值0或1,然后Python脚本将使用。在将其扩展为我想要控制的十几个值之前,我一直在整理一个示例代码以使其正常工作。

我尝试使用下面的代码是在打开网页时,复选框显示当前的db值,如果用户选中/取消选中该框并点击提交,则更新数据库,页面刷新到最多日期信息。我的代码并不像我想的那样,因为它只会向数据库返回零,而不管激活“提交”按钮时复选框的状态如何。

非常感谢任何帮助。

<!DOCTYPE html>
<html>
<head>
<title> checkbox wip</title>

<meta name="viewport" content="width=device-width; initial-scale=1.0">

<link rel="stylesheet" href="style.css">


</head>

<body>

<?php
$servername = "localhost";
$username = "*****";
$password = "*****";
$dbname = "Monitor";


$conn = mysqli_connect($servername, $username, $password, $dbname);


if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

$thesql = "SELECT event FROM sw_sleep ORDER BY id DESC LIMIT 1";
$result = mysqli_query($conn, $thesql) or die(mysqli_error($conn));
$row_result = mysqli_fetch_assoc($result);

$SSwA = $row_result['event'];


mysqli_close($conn); 

?>
<form action="update.php">
Sleep<input type="checkbox" id="sleepstat" name= "sleepstat1" value="1">    <br/>

<script>
   document.getElementById("sleepstat").checked = <?php echo $SSwA?>;
</script>


<input type="submit" value="Submit">

</form>

</body>
</html>

这是update.php

<?php
$servername = "localhost";
$username = "******";
$password = "******";
$dbname = "Monitor";

$conn = mysqli_connect($servername, $username, $password, $dbname);

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

$val = $_POST['sleepstat1'];
$sql="INSERT INTO sw_sleep (event) VALUES ('$val')";

if (mysqli_query($conn, $sql)) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}


mysqli_close($conn);

header("Location: index.php");
?>

0 个答案:

没有答案