将复选框值更新为数据库

时间:2015-12-06 18:38:55

标签: php mysqli

我试图将复选框值更新到数据库中。我已经编写了一些代码,它可以更新数据库..但由于某些原因,我在我的组合变量中得到了未定义的索引...这是我的代码..

将现有数据显示为复选框的代码

<tr>
    <td><label for="cbPin">Pin this  post</label></td>
    <td><input type="checkbox" name="cbPin" class="checkbox checkbox-warning" id="cbPin" <?php 
    if ($pin == 0) {
      ?> value="0" <?php
    } else {
      ?> checked value="1" <?php
    } ?>
    /></td>
  </tr>

这个是变量来呈现表单

 $pin = $row[9];

如果按钮提交点击了

$pin = ($_POST['cbPin']);

if ($pin == '') {

  $pinpost = 0;

} else {

  $pinpost = 1;
}

这是我的查询

if ($stmt = $mysqli->prepare("UPDATE tblanouncement SET title = ?, message = ?, pinpost = ? WHERE anouncementId=?"))
  {

    $stmt->bind_param("ssii",$title, $message, $pinpost, $id); 
    $stmt->execute();
    $stmt->close();

1 个答案:

答案 0 :(得分:0)

选中的复选框会发送其名称和值。

未选中的复选框不是一个成功的控件,根本不会提交。

如果您没有处理同名的多个复选框,请使用isset查看数据是否存在。不要以为你会在POST数据数组中拥有它的值。