选中时从复选框中获取值并将其发送到 mySQL

Get value from checkbox when checked and send it to mySQL

我正在为一个大学项目构建一个网站界面,通过我的 Raspberry 上的网络服务器控制 Arduino。我正在使用 php、python 和一个 mySQL 数据库来设置和存储设备的 "status"。我在 php 或 python 方面没有太多经验,但我正在制作露水。然而,我的问题是使用复选框来打开或关闭这些设备。我在 php 中创建了一个到数据库的连接。我研究了很多似乎与我的项目无关的胡言乱语。这是我的 test.php 代码:

PHP:

//$alarm = $_GET["alarm"];

>    $sql = mysql_query("UPDATE elements SET value=" .
mysql_real_escape_string($_GET["alarm"])
. " WHERE element='alarm'");

>    if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {   echo "Error updating record: " . $conn->error;
}

>    $sql = "SELECT value FROM elements WHERE element='Alarm'";
>    result = $conn->query($sql);

>    if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
    echo "Value: " . $row["value"]. "<br>";
}
} else {
echo "0 results";
}

$conn->close();

HTML:

`<form id="alarm" action="test.php" method="get">`

`<input type="checkbox" name="alarm" value="1">Alarm`

`</form>`

拜托,如果你能给我指出正确的方向。感谢您提前提供任何反馈。

只有检查了 checkbox 类型的输入值才会发送,因此您最好相应地设置 $alarm

$alarm = 'Off'; //or preferably $alarm = false;
if(isset($_GET['alarm']))
$alarm = 'On'; // or preferably $alarm = true;

然后运行您的更新查询以设置您从表单收到的字段警报的值!