我从MySQL表中拉取数据并将其加载到表单中以编辑(更新)记录。一切都很好,直到我来到复选框。表单中的复选框准确地反映了数据库中相应列中的值。但是当编辑人员修改编辑表单中的复选框时,它不会将数据传递给数据库。我已经阅读了一堆关于堆栈溢出的复选框Q &,但似乎没有找到我在找的东西。对不起,如果这是一个多余的问题。这是代码。使用PHP从复选框更新MySQL数据库
<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"' : ''; ?> />
Close to Beach</label>
其中amenitiesB在:
$row1 = mysql_fetch_array($result);
但是,当我在表单中更改值并提交:
value="<?php echo $row1["amenitiesB"]; ?>
的是什么已经从DB与返回SELECT语句它什么也不传递给UPDATE语句中的变量。任何想法我失踪?我有6个这些复选框,amenitiesB,amenitiesK,amenitiesS,amenitiesP,amenitiesF,并且首选全部使用相同的代码。任何帮助,将不胜感激。 谢谢你, 戴夫
好吧,这里是代码:表格中的其他所有更新罚款。我试图将它传递给: $ amenitiesB = $ _POST ['amenitiesB'];
后来我把它放到UPDATE语句 Hotels.amenitiesB ='”。$ amenitiesB。 “”, 我的UPDATE语句, $查询=” UPDATE酒店 JOIN surfcup_Rates ON Hotels.id = surfcup_Rates.hotelid SET Hotels.hotel = ' “$酒店”。', 更多列,然后
Hotels.amenitiesB='".$amenitiesB."',
Hotels.amenitiesB='".$amenitiesK."',
Hotels.amenitiesB='".$amenitiesS."',
Hotels.amenitiesB='".$amenitiesP."',
Hotels.amenitiesB='".$amenitiesF."',
Hotels.amenitiesB='".$preferred."',
多个列,则:
WHERE Hotels.id='".$id."'";
,你编译和运行UPDATE语句丢失的代码发送方法改变$ _ POST与$ _GET。 – hakre 2012-03-14 18:50:35
1.检查值是否正确嵌入到表单中。 2.检查表单提交时是否将值传递回服务器。 3.检查你是否正确地将它构建到你的sql语句中。 4.检查查询是否实际运行没有错误 – 2012-03-14 18:53:22
我们需要查看更多逻辑以帮助您。 – Crashspeeder 2012-03-14 18:55:47