首页 > 解决方案 > 根据条件满意度更新数据库字段

问题描述

我正在尝试根据视图中选择的选项更新数据库字段。

<select name="unit_type[]" id="unit_type" class="form-control" style="width:150px;">
 <option value="none" selected="" disabled="">Choose</option>
 <option value="Unit">Unit</option>
 <option value="Sub-Unit">Sub-Unit</option>
</select>

因此,在这种情况下,如果选择了 Unit,则应将一个数字添加到特定字段,如果选择了 Sub-Unit,则应将数字添加到另一个字段。

模型

public function restocks_update(){
  $item_id=$this->input->post('item_id');
  $qty=$this->input->post('qty');   
  $unit_type=$this->input->post('unit_type');
  for($i=0; $i<count($qty); $i++){
    if($unit_type=="Unit"){
     $this->db->query("UPDATE `stock` SET `quantity_available`=`quantity_available`+'$qty[$i]' WHERE `id`='$item_id[$i]'");
    }else if($unit_type=="Sub-Unit"){
     $this->db->query("UPDATE `stock` SET `convert_qty_available`=`convert_qty_available`+'$qty[$i]' WHERE `id`='$item_id[$i]'");
        }
     }
  }

if 语句处于循环中,因为select它也是通过 jquery 动态生成的。目前的问题是这些字段没有更新,如果我删除else if它,它只会更新一个特定的字段,即使它不满足条件。

标签: phpcodeigniter

解决方案


尝试 unit_type 而不是 unit_type[]


推荐阅读