PHP数组返回相同的值

时间:2016-09-20 18:28:06

标签: php arrays codeigniter

我坚持这一点,我实际上并没有看到问题究竟在哪里。

我有一堆输入标签,这些标签放置如下:

<div class="col-md-3">
    <label>Material 1</label>
    <input hidden="hidden" name="idMaterial[]" value="13" type="text" />
    <input class="form-control" name="total[]" type="text" />
</div>

<div class="col-md-3">
    <label>Material 2</label>
    <input hidden="hidden" name="idMaterial[]" value="8" type="text" />
    <input class="form-control" name="total[]" type="text" />
</div>

我有20个这样的输入,这里的想法是,如果我在Material 1的输入字段中写入10,我的数据库会收到如下内容:

id         => A.I
idMaterial => 13
total      => 10

但是一旦我运行代码,就会发生这种情况(重复idMaterial,即使我写了超过1个输入。它总是重复第一个):

idMaterial: 13
total: 10

idMaterial: 13
total: 20

我用来接收该表单的代码:

$idMaterial = array();
$total  = array();

if($this->input->post('total')){
    foreach($this->input->post('idMaterial') as $row){
        $idMaterial = $row;

        foreach($this->input->post('total') as $row2){
            $total  = $row2;

            echo 'Material: '. $idMaterial .'<br> Total: '. $total. '<br><br>'; // TESTING THE OUTPUT
            $query = $this->pedido->salvaLabMaterial($total, $idMaterial); // I'M SENDING THE DATA TO MODEL HERE
        }
    }
}

非常欢迎任何提示。

1 个答案:

答案 0 :(得分:0)

@RiggsFolly

我按照你说的那样以HTML格式发送信息的方式:

$query = $this->pedido->salvaLabMaterial($this->input->post('total'), 
                                         $this->input->post('idMaterial'), 
                                        );

模特:

public function salvaLabMaterial($this->input->post('idMaterial'), $this->input->post('total')){

    $query = $this->db->query(" insert into labpedidomaterial (idMaterial, total) values ('".$this->input->post('idMaterial')."', '".$this->input->post('total')."') ");

}