Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在表单中使用一个forigenk值插入多行_Php_Mysql_Codeigniter - Fatal编程技术网

Php 在表单中使用一个forigenk值插入多行

Php 在表单中使用一个forigenk值插入多行,php,mysql,codeigniter,Php,Mysql,Codeigniter,我有如下表格 “选择项目名称”有一个下拉列表。一旦选择项目名称,然后输入其他字段并提交表单。现在我想将数据插入到具有项目id的表中。 我的数据库结构如下 id |项目id |项目描述|数量|单位|费率|单价|成本|工时|金额 根据我的代码,仅为第一行插入项目id。这是我用print\r得到的数组 数组([0]=>数组([project\u id]=>1[staff\u id]=>2[item\u no]=>1[description]=>1[unit]=>1[labour\u hrs]=>1[

我有如下表格

“选择项目名称”有一个下拉列表。一旦选择项目名称,然后输入其他字段并提交表单。现在我想将数据插入到具有项目id的表中。 我的数据库结构如下

id |项目id |项目描述|数量|单位|费率|单价|成本|工时|金额

根据我的代码,仅为第一行插入项目id。这是我用print\r得到的数组

数组([0]=>数组([project\u id]=>1[staff\u id]=>2[item\u no]=>1[description]=>1[unit]=>1[labour\u hrs]=>1[labour\u cost]=>1[amount]=>2][project\u id]=>staff\u id]=>2[item\u no]=>2[description]=>2[description]=>2[quantity]=>2[unit rate]=>2[labour hrs]=>2[labour cost]=>8][2] =>数组([项目id]=>员工id]=>2[项目编号]=>3[说明]=>3[数量]=>3[单位]=>3[工时]=>3[人工成本]=>3[金额]=>18))

我的代码如下

查看

 <form class="form-inline" role="form" id="frmadd" action="<?php echo base_url() ?>index.php/boq_controller/create" method="POST">
<!--project-->


<span><b>Project Name</b></span>
    <?php
       $attributes = 'class = "form-control" id = "project" style="width:100%; height:35px;"';
        echo form_dropdown('project[]',$project, set_value('project'), $attributes);?>

 <!--project-->

    <!-- boq_tbl // field list-->
   <table class="table" id="boq_tbl">
                   <tbody>
<!--<form class="form-inline" role="form" id="frmadd" action="<?php echo base_url() ?>index.php/boq_controller/create" method="POST">-->


    <tr class="txtMult">

       <td><input type="text" name="work_product_id[]" class="form-control" id="work_product_id" placeholder="" style="width:60px;" ></td>
        <td><input type="text" name="work_item_description[]" class="form-control" id="work_item_description" placeholder="" style="width:350px;"></td>
        <td><input type="text" name="quantity[]" id="" class="form-control val1" style="width:80px;" /></td>
        <td><select style=" height: 28px; width: 70px; border-radius: 2px;" name="unit[]" >
            <option value="" selected> </option>
            <option value="cube">cube</option>
            <option value="sq.ft">sq.ft</option>
            <option value="Cwts">Cwts</option>
            <option value="Gal" >Gal</option>
        </select></td>
        <td><input type="text" name="rate[]" class="form-control val2" style="width:80px;"/></td>
        <td><input type="text" name="laboure_hrs[]" id="" class="form-control val3" style="width:80px;"/></td>
        <td><input type="text"name="laboure_cost[]" id="" class="form-control val4" style="width:80px;"/></td>


        <td>
                <input type="text" id="txtmultTotal" name="txtmultTotal[]" style="width:80px;" placeholder="0.00" class="multTotal">
<!--            <input type="text" class="multTotal" placeholder="0.00">-->
        </td>
        <td><?php                                           
//hidden value user session id
echo form_hidden('staff_id[]',($this->session->userdata['logged_in']['id']) );

?>  </td>
    </tr>

     </tbody>
       </table> 
<p align="right">
    Grand Total# <span id="grandTotal">0.00</span> <input type="text" id="txtgrandTotal" name="txtgrandTotal">
    <button id="insert-more" class="btn btn-primary" type="button">ADD</button>

</p>

<div class="form-group">
                    <input type="submit" class="btn btn-success" id="btn btn-success" value="submit">
                </div>

</form>

}

您能解释一下您面临的问题吗?我想一次插入所有行。选择项目名称后,它应显示在所有行中仅第一行的SERT project\u id
public function create(){


           if ($_POST) 
   {
        $project_id=$this->input->post('project');
        $staff_id=$this->input->post('staff_id');
       $item_no=$this->input->post('work_product_id');
        $description=$this->input->post('work_item_description');
        $qty=$this->input->post('quantity');
        $unit=$this->input->post('unit');
        $rate=$this->input->post('rate');
        $laboure_hrs=$this->input->post('laboure_hrs');
        $laboure_cost=$this->input->post('laboure_cost');
        $amount=$this->input->post('txtmultTotal');
        $data = array();
       for ($i = 0; $i < count($this->input->post('work_product_id')); $i++)
        {
           $data[$i] = array(
               'project_id' => $project_id[$i],
               'staff_id' => $staff_id[$i],
               'item_no' => $item_no[$i],
               'description' => $description[$i],
               'qty' => $qty[$i],
                'unit' => $unit[$i],
             'rate' => $rate[$i],
             'laboure_hrs' => $laboure_hrs[$i],
               'laboure_cost' => $laboure_cost[$i],
               'amount' => $amount[$i],
            );
       }
        $this->boq_model->create($data);
    }
function create($data) {
    $this->db->insert('boq', $data);
public function create() {
if($_POST) {
    $project_id   = $this->input->post('project');
    $staff_id     = $this->input->post('staff_id');
    $description  = $this->input->post('work_item_description');
    $qty          = $this->input->post('quantity');
    $unit         = $this->input->post('unit');
    $rate         = $this->input->post('rate');
    $laboure_hrs  = $this->input->post('laboure_hrs');
    $laboure_cost = $this->input->post('laboure_cost');
    $amount       = $this->input->post('txtmultTotal');
    $data         = array();

    $item_no      = $this->input->post('work_product_id');
    foreach($item_no as $key => $value) {
        $data[$key]       = array(
            'project_id'  => $project_id,
            'staff_id'    => $staff_id[$key],
            'item_no'     => $value,
            'description' => $description[$key],
            'qty'         => $qty[$key],
            'unit'        => $unit[$key],
            'rate'        => $rate[$key],
            'laboure_hrs' => $laboure_hrs[$key],
            'laboure_cost'=> $laboure_cost[$key],
            'amount'      => $amount[$key],
        );
    }
    $this->boq_model->create($data);
}