我正在尝试更新一个表格,其中输入了行的ID并通过下拉列表选择了标题,但我有两个问题。首先我不知道如何将数据传递给模型,第二个问题实际上是使用活动记录更新表。
控制器类
function edit_profile($id)
{
$data = array(
'table_name' => 'user',
'id' => $id ,
'fullname' => $this->input->post('fullname')
);
if($this->user_model->upddata($data))
{
$data['msg']= 'Update Done';
$this->load->view('header_view',$data);
$this->load->view("edit_profile_view.php", $data);
$this->load->view('sidbar_user_view',$data);
$this->load->view('footer_view',$data);
}
else
{
$data['msg']= 'Update Not Done';
$this->load->view('header_view',$data);
$this->load->view("edit_profile_view.php", $data);
$this->load->view('sidbar_user_view',$data);
$this->load->view('footer_view',$data);
}
}
模型类
function upddata($data) {
extract($data);
$this->db->where('id', $id);
$this->db->update($table_name, array('fullname' => $fullname));
return true;
}
视图
<?php echo form_open("profile/edit_profile/$d->id"); ?>
<div class="tuple">
<h1>full name : </h1>
<input type="text" name="fullname" class="t-name" readonly value="<?=fullname; ?>" >
<div class="clear"></div>
</div>
<input type="submit" name="mysubmit" value="Save" id="mysubmit">
<?php echo form_close(); ?>
和打开网址时
/站点/简档/ edit_profile / 1
我收到此消息
致命错误:在非对象
上调用成员函数upddata()答案 0 :(得分:0)
尝试在控制器中加载模型,如
function edit_profile($id) {
$this->load->model('user_model');
//Do other things
}
可选,如
function uppdata($data) {
$this->db->where('id', $data['id']);
$this->db->update($data['table_name'], array('fullname' => $data['fullname']));
return true;
}
从$data
也可以直接获取相关值。您需要将$data
传递给视图文件而不是$data1
,因为它未定义且
替换
$this->load->view("edit_profile_view.php", $data);
到
$this->load->view("edit_profile_view", $data);