编辑和删除codeigniter中的问题

时间:2014-03-24 14:33:39

标签: php codeigniter add edit

我在这里尝试了一些步骤,但直到现在,我的编辑和删除功能都无法正常工作。你能帮帮我吗?

首先,我在客户端控制器中有这些行:

public function edit_job
{

    $this->validateRole('client');
    $this->load->model('job_model');

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

    $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 delete_job() 
{

    $this->validateRole('client');
    $this->load->model('job_model');

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

    $this->job_model->delete_job($id);
    //echo '<script language="javascript">alert("Post successfully deleted.");</script>';
    redirect('client/manage_jobs?message=Job post successfully deleted');

}
}

然后,我在job_model中有这些行

function edit_job() 
{
    $data = array(
        'title' => $this->input->post('title'),
        'category_id' => $this->input->post('category_id'),
        'start_date' => date("m-d-Y", strtotime($this->input->post('start_date'))),
        'description' => $this->input->post('description'),
    );
    $this->db->where('id', $this->input->post('id'));
    $this->db->update('job', $data);

}
function delete_job($id) 
{
    $this->db->where('id', $id);
    $this->db->delete('job', $data);
}

目前,添加工作效果相当不错(虽然我有时会对开始日期有问题),但编辑和删除效果不佳。每当我在视图页面中按下编辑时,它将显示一个与新的add_job页面完全相似的页面(因此,每当我键入并填写表单时,它将被添加为新作业,而不是作为特定作业的修订) (我一直试图在编辑之前首先回应原始值,但它从未奏效。就删除作业而言,它确实显示重定向消息,但每当我检查可用作业时,所谓的已删除作业仍然可用。

我已经被困在这里很长一段时间了。请帮帮我..

1 个答案:

答案 0 :(得分:2)

我认为asp_tags在你的php设置中是禁用的。更改您的代码如下:

<?php echo $this->uri->segment(3, 0); ?>

而不是

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


关于删除,您不需要在删除功能中传递第二个参数。以下是:

$this->db->delete('job');

而不是

$this->db->delete('job', $data);