2014-03-24 87 views
0

我嘗試了一些這裏的步驟,但直到現在,我的編輯和刪除功能無法正常工作。你能幫我一下嗎?編輯和刪除codeigniter中的問題

首先,我有我的客戶端控制器,這些行:

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

是 'asp_tags' 在你的php.ini啓用? –

回答

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); 
+0

Hi @ Samiul Hi,謝謝你的回覆。我搜索了什麼是asp_tags。正如你所建議的,我在我的php.ini中打開它。我改變了段代碼並刪除了代碼,正如你所提到的,但是我得到了相同的結果。 – user3453256

+0

請給出$ this-> db-> last_query();的輸出。剛剛編輯和刪除功能 –

+0

其PHP語法錯誤。我很抱歉,我無法修復你的PHP語法錯誤。 –