无法更新php中的复选框

时间:2010-03-01 13:08:16

标签: php mysql

为什么我使用复选框时不能更新mysql中的数据,我已经尝试删除隐藏的输入类型,但仍然无法正常工作。我认为问题必须在这部分,因为当我尝试添加记录并检查所有复选框时。 然后我会尝试更新它。通过删除其他条目中的检查。数据已更新。删除的检查也会反映在数据库中,但是当我尝试使用更新模块再次添加检查时,它将不会更新。请帮助,我只是一个初学者。

<td><input name="stats3" type="checkbox" id="sh"
 value="<?php echo $row["STAT3"]; ?>" <?php echo $row["STAT3"] ? 'checked="checked"' : ''; ?> >Stockholder</td>

3 个答案:

答案 0 :(得分:3)

当你有一个复选框并勾选它时,你会得到一个在帖子中返回给服务器的键/值对。

如果未选中该复选框,它实际上不会回复帖子(您可以使用Firebug或print_r($ _ POST)检查此内容

这可能会导致您的问题。

您可以使用:

if(isset($_POST['stats3'])) {
   // checked is true
}

或者另一个简单的解决方案是选择列表,其中包含yes和no作为选项,这将始终返回值 - 否则您需要根据帖子中勾选框的存在来设置和取消设置值。

答案 1 :(得分:0)

或者你可以检查

if (isset($_POST['stats3']))
  // value received
else
  // value not received

答案 2 :(得分:0)

   <input name="stats3" type="checkbox" id="sh"
     value="
       <?php echo $row["STAT3"]; ?>
     " 
       <?php echo $row["STAT3"] ? 'checked="checked"' : ''; ?>
    >Stockholder

它对我来说很好,

如果您要使用与“stats3”相同的名称发布多个值,那么您将遇到问题