我坚持这一点,我实际上并没有看到问题究竟在哪里。
我有一堆输入标签,这些标签放置如下:
<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
}
}
}
非常欢迎任何提示。
答案 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')."') ");
}