编辑表单正确回显以前保存的数据,但不更新表单字段

时间:2014-04-03 23:16:09

标签: php sql forms codeigniter edit

回复以前保存的数据(不包括下拉值中的数据)对我来说已经很好了。我可以看到为特定记录保存的正确数据,但是,在编辑表单后,我看不到任何成功的数据。据推测编辑的数据保持不变。我输入的实际编辑回显值的所有内容都无处可去。

我目前在我的控制器中有这个:

    public function edit_job() 
{
    $this->validateRole('client');
    $this->load->model('job_model');

    $id = $this->uri->segment(3,0);

    $data['my_preference'] = $this->array_to_select( $this->job_model->get_all_categories(), 'id','name');
    $data['job'] = $this->job_model->get_job($id);
    $this->load->view('client/edit_job', $data);
}   

public function edit_job_submit() 
{
    $this->validateRole('client');
    $this->load->model('job_model');

    if ( '0' != $_POST['id'] ) 
    {
        $this->job_model->edit_job($_POST);
    } else {
        $this->job_model->add_job($_POST);
    }
    redirect('client/manage_jobs?message=Job updated.');
}

虽然我的模型中有这个:

public function edit_job($obj)
{
    $data = array
    (
        'title' => $post_obj['title'],
        'description' => $post_obj['description'],
        'start_date' => date("Y-m-d", strtotime($post_obj['start_date'])),
        'category_id' => $post_obj['category_id']
    );
    $this->db->where('id', $id);
    $this->db->update('job', $data);    
}

2 个答案:

答案 0 :(得分:0)

我认为您的问题是:重定向('客户端/ manage_jobs?message =作业更新。'); 而是使用类似$ this-> load-> view(' success');

创建一个名为success的视图并写一条说成功的消息。把它放在更新/插入功能

之后

希望这有帮助

答案 1 :(得分:0)

我必须添加$ id = $ obj ['id'];更新尝试编辑的特定条目