gpt4 book ai didi

php - 从 Checkbox 使用 PHP 更新 MySQL 数据库

转载 作者:行者123 更新时间:2023-11-30 23:32:49 24 4
gpt4 key购买 nike

我正在从 MySQL 表中提取数据并将其加载到用于编辑(更新)记录的表单中。在我选中复选框之前,一切都很好。表单中的复选框准确反射(reflect)了数据库中相应列中的值。但是当编辑人员更改编辑表单中的复选框时,它不会将数据传递到数据库。我已经阅读了大量关于堆栈溢出的复选框问答,但似乎没有找到我要找的东西。对不起,如果这是一个多余的问题。这是代码。

<label for="amenities-beach">
<input class="choose" name="amenitiesB" id="amenities-beach" type="checkbox"
value="<?php echo $row1["amenitiesB"]; ?>"
<?php echo $row1["amenitiesB"] ? 'checked="checked"' : ''; ?> />
&nbsp;Close to Beach</label>

哪里有便利设施:

value="<?php echo $row1["amenitiesB"]; ?>

是从数据库返回的带有 SELECT 语句的内容:

 $row1 = mysql_fetch_array($result); 

但是当我更改表单中的值并提交它时,没有任何内容传递给 UPDATE 语句中的变量。知道我错过了什么吗?我有 6 个这样的复选框,amenitiesB,amenitiesK,amenitiesS,amenitiesP,amenitiesF,并且首选所有这些都具有相同的代码。任何帮助,将不胜感激。谢谢你,戴夫

好的,这是代码:表单中的所有其他内容都可以正常更新。我试图将它传递给: $amenitiesB = $_POST['amenitiesB'];
然后我把它放到更新语句中 Hotels.amenitiesB='".$amenitiesB."',我的更新声明是, $query="更新酒店 加入 surfcup_Rates ON Hotels.id = surfcup_Rates.hotelid SET Hotels.hotel='".$hotel."',更多专栏,然后

Hotels.amenitiesB='".$amenitiesB."', 
Hotels.amenitiesB='".$amenitiesK."',
Hotels.amenitiesB='".$amenitiesS."',
Hotels.amenitiesB='".$amenitiesP."',
Hotels.amenitiesB='".$amenitiesF."',
Hotels.amenitiesB='".$preferred."',

然后是更多列:

WHERE Hotels.id='".$id."'";

最佳答案

您遇到的问题是因为取消选中复选框时,默认情况下不会将其数据传输到您的 PHP,这就是为什么 UPDATE 查询参数为空时出现问题的原因。所以在你的更新声明之前你应该有:

$fieldenabled=(bool)(isset($_POST['CHECKBOXNAME']) ? TRUE : FALSE;

并用它调用您的 UPDATE 查询。

编辑:当然,您可以根据 <form> 的发送方法将 $_POST 更改为 $_GET

关于php - 从 Checkbox 使用 PHP 更新 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9708221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com