【问题标题】:How to insert multiple check box values into table如何将多个复选框值插入表中
【发布时间】:2014-12-05 05:13:43
【问题描述】:

我已经显示了 ugroups 表中的复选框值(ugroup 字段)。现在我要做的是,当用户选择多个复选框并提交时,它应该插入到表中的相关字段中。这是我的代码。它没有不行。请帮帮我。

//select ugroup's from group table.
    <?php 
    $result = "SELECT id,ugroup FROM group";
    $res_result = db::getInstance()->query($result);
    ?>

组表

<form action="db_sql/db_add_page.php" method="get">
Tittle :<input type="text" size="100" name="tittle" />
Description :<textarea cols="80" id="editor1" name="description" rows="10"></textarea>

    //Display ugroups in textboxes and checkboxes
     <?php 
    while( $line=$res_result->fetch(PDO::FETCH_ASSOC)) {
    echo '<input type="checkbox" name="ugroup" value=" '. $line['ugroup'] .'" />';
    echo'<input type="text" name="ugroup" disabled="disabled" value=" '. $line['ugroup'] .'" size="7" "/>';
    echo ' ';
    }
    ?>
<input type="submit" value="Submit">
</form>

db_add_page.php

我只想将选中的复选框值添加到相关字段。

if(isset($_GET))
    {

$tittle = $_GET['tittle'];
    $description = $_GET['description'];
    $ugroup = $_GET['ugroup'];

$acc_status = "INSERT INTO add_services (id,tittle,description,g1,g2,g3,g4,g5,g6,g7,g8) VALUES(NULL,'".$tittle."','".$description."','".$ugroup."','".$ugroup."','".$ugroup."','".$ugroup."','".$ugroup."','".$ugroup."','".$ugroup."','".$ugroup."')";

$rate = db::getInstance()->exec($acc_status); 
    if(!$rate){
    echo '<script type="text/javascript">alert("Update Error !");</script>';
    }else{
    header('Location:../add_page.php'); 
    echo '<script type="text/javascript">alert("Successfuly Updated User Group !");</script>'; 



}

}

add_services 表

【问题讨论】:

标签: php mysql pdo


【解决方案1】:

将它们存储在数组中,而不是在 while 循环中运行查询

改变这个

echo '<input type="checkbox" name="ugroup" value=" '. $line['ugroup'] .'" />';

到这里

echo '<input type="checkbox" name="ugroup[]" value=" '. $line['ugroup'] .'" />';

//See added [ ] afte ugroup

比在另一个文件中你这样做

    $check_boxes = implode("','", $_POST['ugroup']);

$query="INSERT add_services (id,tittle,description,g1,g2,g3,g4,g5,g6,g7,g8)
     VALUES (NULL,'".$tittle."','".$description."','{$check_boxes}')";

【讨论】:

  • 如何将其插入每一列?
  • 它现在插入正确的值。但不在相关列中。我点击复选框1,复选框2并提交。它插入到g1和g2。当我点击复选框4时,复选框6也插入到g1,g2列。
  • 现在它显示“未捕获的异常 'PDOException' 和消息 'SQLSTATE[HY000]”错误消息。
  • “致命错误:未捕获的异常 'PDOException' 带有消息 'SQLSTATE[21S01]:插入值列表与列列表不匹配:1136 列计数与 C 中第 1 行的值计数不匹配: \wamp\www\member\sys-admin\db_sql\db_add_page.php 第 31 行" 错误
  • 我有 11 列(id,title,description,g1,g2,g3,g4,g5,g6,g7,g8)谢谢。
猜你喜欢
  • 2013-12-09
  • 2012-08-20
  • 1970-01-01
  • 1970-01-01
  • 2022-07-28
  • 2021-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多