我在这里尝试了一些步骤,但直到现在,我的编辑和删除功能都无法正常工作。你能帮帮我吗?
首先,我在客户端控制器中有这些行:
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页面完全相似的页面(因此,每当我键入并填写表单时,它将被添加为新作业,而不是作为特定作业的修订) (我一直试图在编辑之前首先回应原始值,但它从未奏效。就删除作业而言,它确实显示重定向消息,但每当我检查可用作业时,所谓的已删除作业仍然可用。
我已经被困在这里很长一段时间了。请帮帮我..
答案 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);