0

我正在尝试更新输入行的 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(); ?>

打开网址时

/site/profile/edit_profile/1

我收到这条消息

致命错误:在非对象上调用成员函数 upddata()

4

1 回答 1

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);
于 2013-08-13T12:04:39.863 回答