我有一个w / c包含的表菜单(recipe_id,ingredient_id,category_id)。我试图更新我的成分但它只更新1 ingredient_id。喜欢这个
这是我的代码:
控制器:
public function save_edit_recipe()
{
foreach($this->input->post('ingredients') as $key => $value)
{
$menuData[] = array('recipe_id' => intval($this->input->post('recipe_id')),
'ingredient_id' => intval($value),
'category_id' => intval($this->input->post('recipe_category'))
);
}
// var_dump($menuData); die();
$this->products_model->updatemenu($menuData);
MODEL:
public function updatemenu($data)
{
foreach($data as $row => $value)
{
$this->db->where('ingredient_id', $data['ingredient_id']);
$query=$this->db->update('menu', $value);
}
return $result;
}
答案 0 :(得分:2)
删除控制器中的所有数据并添加到模型中。
在控制器中
$this->products_model->updatemenu();
在模型中
public function updatemenu()
{
foreach($this->input->post('ingredients') as $key => $value)
{
$menuData = array(
'recipe_id' => intval($this->input->post('recipe_id')),
'ingredient_id' => intval($value),
'category_id' => intval($this->input->post('recipe_category'))
);
$this->db->where('ingredient_id', $value);
$this->db->update('menu', $menuData);
}
}
答案 1 :(得分:-1)
视图中的我的html代码
<tr class='test_record'>\
<td><input type='text' name='test_name[]' value='<?= $lists['test_name'];?>' class='form-control'></td>\
<td><textarea class='form-control' name='instruction[]' > <?= $lists['instruction'];?> </textarea>\
</td>\
<input type='hidden' name='test_id' value='<?= $lists['test_id'];?>'>\
<td><button class='close remove_test_record' aria-hidden='true'>×</button></td>\
</tr>";
我在codeignitor中的php代码是
$count = count($test_name);
for ($i = 0; $i < $count; $i++) {
$i_update = array('test_name' => $test_name[$i], 'instruction'=> $instruction[$i]);
$result = $this->Common_model->save_updated_info($i_update,array('test_id' =>$update['test_id']),'patients_test');
}
redirect("Doctor/doc_patient_profile/".$update['patient_id']);