我正在尝试使用Codeigniter实现CRUD操作。我的SQL表由ID,Name,Class和Section组成。我的编辑功能有问题,这是代码:
型号:
function update_records($data){
$this->db->where('ID',$this->uri->segment(3));
$this->db->update('tbl_demo',$data);
}
控制器:
function update($id){
$site_data = $this->site_model->get_record($id);
$view_data = array ();
$view_data['site_data'] = $site_data;
$this->load->view("edit_site" , $view_data);
$data = array(
'name'=>$this->input->post('name'),
'class' => $this->input->post('class'),
'section' => $this->input->post('section')
);
$this->site_model->update_records($data);
}
查看:
<?php echo form_open('site/update');?>
<fieldset class='fieldset'>
<legend>Updata Records : </legend>
<label class='labelWidth' for='name'>Name : </label>
<input type='text' name='name' id='name' value='<?php echo $site_data[0]->Name?>'/></br></br>
<label class='labelWidth' for='class'>Class : </label>
<input type='text' name='class' id='class' value='<?php echo $site_data[0]->Class?>'/></br></br>
<label class='labelWidth' for='section'>Section : </label>
<input type='text' name='section' id='section' value='<?php echo $site_data[0]->Section?>'/></br></br>
<center><input class='label' type='submit' value='Submit'/></center>
</fieldset>
这是另一个主视图,我从中发送我想要编辑的记录的ID,如下所示:
<td><?php echo anchor("site/update/$row->ID",'Edit')?></td>
我得到2个错误为'消息:缺少参数1的Site :: update()'和'消息:未定义的变量:id'之后,我的ID保持不变,但名称,类和部分被清空。
答案 0 :(得分:2)
你的观点::
<?php echo form_open(uri_string());?>
<fieldset class='fieldset'>
<legend>Updata Records : </legend>
<label class='labelWidth' for='name'>Name : </label>
<input type='text' name='name' id='name' value='<?php echo $site_data[0]->Name?>'/></br></br>
<label class='labelWidth' for='class'>Class : </label>
<input type='text' name='class' id='class' value='<?php echo $site_data[0]->Class?>'/></br></br>
<label class='labelWidth' for='section'>Section : </label>
<input type='text' name='section' id='section' value='<?php echo $site_data[0]->Section?>'/></br></br>
<center><input class='label' type='submit' value='Submit'/></center>
</fieldset>
<?php echo form_close();?>
答案 1 :(得分:1)
function update($id){
$site_data = $this->site_model->get_record($id);
$view_data = array ();
$view_data['site_data'] = $site_data;
$this->load->view("edit_site" , $view_data);
$data = array(
'name'=>$this->input->post('name'),
'class' => $this->input->post('class'),
'section' => $this->input->post('section')
);
$this->site_model->update_records($data);
// Redirection
redirect ( 'here add your controller name' );
}