这是我的数据的MVC流程。在模型中,我想要我的显示器'要根据'名称'进行更新的字段领域。 $ gadget_id包含'名称'并在此基础上我希望'显示'要从$ updateDisplay的值更新的字段。但我得到的错误是显示'字段已更新,但不是基于' name'这是$ gadget_id。
function updateText($gadget_id, $updateDisplay){
$data = array(
// 'name'=>$gadget_id,
'display'=>$updateDisplay
);
// $this->db->update('gadgets',array('name'=>$gadget_id, 'display' => $updateDisplay));
$this->db->update('gadgets',$data);
$this->db->where('name',$updateDisplay);
}
function updateText(){
if ($this->session->userdata('logged_in')) {
$this->load->model('database_model');
$data['gaget']= $this->database_model->get_gaget();
$data['meta'] = $this->dbmodel->get_meta_data();
$default_template = $this->input->post('display');
$updateDisplay = trim($default_template, "/");
$gadget_id = $this->input->post('gadget_id');
//echo $gadget_id;
$this->database_model->updateText($gadget_id, $updateDisplay);
//$this->session->set_flashdata('mess','Data added sucessfully !!! ');
$this->load->view('bnw/templates/header', $data);
$this->load->view('bnw/templates/menu', $data);
$this->load->view('bnw/gadget/gadgetsListing',$data);
$this->load->view('bnw/templates/footer', $data);
} else {
redirect('login', 'refresh');
}
}
<div id='sub_gadget'>
<div id='title_in_collection'><?php echo $data->name; ?></div>
<div id='description_in_collection'><?php echo $data->type;?> </div>
Where to display:
<?php echo form_open('gadgets/updateText'); ?>
<select name="display">
<?php
foreach($var as $temp)
{
echo "<option value=".$temp."/>".$temp."</option>";
}
?>
</select>
<input type="hidden" value="<?php echo $data->name; ?>" name="gadget_id">
<input type='submit' value='Add Gadget' id='btn' name='submit'>
<?php echo form_close(); ?>
答案 0 :(得分:0)
由于$gadget_id
拥有name
,因此查询应该是这样的 -
function updateText($gadget_id, $updateDisplay)
{
$data = array(
'display'=>$updateDisplay
);
$this->db->where('name',$gadget_id);
$this->db->update('gadgets',$data);
}
如果$gadget_id
确实包含该名称,那么您应该将变量名称更改为$gadget_name