如何将多选复选框的值插入数据库

时间:2017-05-12 07:34:44

标签: php

我有一个多选复选框,但我找不到如何插入数据库的方法,每个复选框将在数据库中创建新行。

this is how my dropdown looks like

 <select id="plant" name="plant[]" class="form-control" multiple="multiple">
        <?php 
                    $query_plant = "SELECT * FROM plant WHERE plant_enable=1 ORDER BY plant_name";
                    $rs_plant = DB_Query($query_plant);

                    while ($row_plant = DB_FetchRow($rs_plant)) {

                        $plant.='<option name='.$row_plant["plant_shortname"].' value='.$row_plant["plant_id"].'>' .$row_plant["plant_name"].' ['.$row_plant["plant_id"].']</option>';

                        }   

                    mysql_free_result($rs_plant);
                    echo $plant;
                ?>
      </select>

2 个答案:

答案 0 :(得分:0)

您可以使用表单提交上的复选框名称来获取所选复选框值:

$plants = $_REQUEST['plant'];

$plants是一个数组,所以使用foreach()迭代它,并为每个值进行插入查询或在单个查询中组合所有值并在数据库上触发该查询。

答案 1 :(得分:0)

if(isset($ _ POST [&#39; company&#39;])){

            $checkbox1 = $_POST['plant']; 
            $chk="";
            $stf_sql = "SELECT * FROM test_plant WHERE staff_id = '".$STAFF_ID."'";
            $stf_res = DB_Query($stf_sql);

            if(DB_RowsReturned($stf_res) > 0) {
               $del_sql = "DELETE FROM test_plant WHERE staff_id = '".$STAFF_ID."'";
               $del_res = DB_Query($del_sql);
            } 

            foreach($checkbox1 as $chk1)  
            {  
               $in_ch="insert into test_plant(staff_id, plant_name, submit_dt) values ('$STAFF_ID','$chk1', Now())";  
               $in_res = DB_Query($in_ch);

                 $abc = mysql_query("SELECT * FROM test_plant");

               while($abc_row = mysql_fetch_assoc($abc)) {
                   foreach($abc_row as $key => $value) {
                       echo $key;
                   }

               }

            }

        } else {
            echo "OK";
        }