复选框不会通过mysql的勾选更新

时间:2012-03-06 16:48:19

标签: php mysql html

我正在创建一个包含两个复选框yes和no的表单。我在名为Completed的mysql字段中添加了yes或no。

我遇到的问题是如果字段有“是”或“否”,则勾选框会显示勾号。

因此,取决于字段中的内容已完成“是”或“否”,勾选框应勾选或不勾选。

我的代码是这样的:

<input type="checkbox" name="Completed" Completed="Yes" value="<?php echo $stuff["Completed"]; ?>" <?php echo $stuff["Completed"] ? 'checked=" checked"' : ''; ?> > Yes</td>

<input type="checkbox" name="Completed" Completed="No" value="<?php echo $stuff["Completed"]; ?>" <?php echo $stuff["Completed"] ? 'checked=" checked"' : ''; ?> > No</td>

2 个答案:

答案 0 :(得分:2)

<?php echo $stuff["Completed"] ? 'checked=" checked"' : ''; ?>将始终返回true,因为您检查“是”和“否”。这个值适用于php。您必须在db中设置值0或1或检查执行以下操作:

<?php echo $stuff["Completed"] == 'Yes' ? 'checked=" checked"' : ''; ?>

...

<?php echo $stuff["Completed"] == 'No' ? 'checked=" checked"' : ''; ?>

答案 1 :(得分:2)

复选框不会让我成为此类信息的适当控件。您是否考虑使用单选按钮?在任何情况下,您的问题的答案取决于您如何将数据存储在数据库中。如果是简单的“是”或“否”,请尝试以下内容:

<input type="radio" name="Completed" value="Yes" <?php echo $stuff["Completed"] == 'Yes' ? 'checked="checked"' : ''; ?> />