重定向到在codeigniter中调用链接的URL

时间:2015-11-09 00:57:16

标签: php codeigniter

请耐心等待我,因为我是CodeIgniter的新手

我将通过举例说明

假设我有一个名为news的控制器,urls / news / create和/ news / delete可以删除新闻。

问题是我在新闻页面上有用户应该能够删除的评论。但是现在如果您/ comment / delete / 1它将保留在/ comment / delete页面上,但我希望用户留在特定的新闻页面上。

现在我用它:

public function delete($id = NULL)
{
    $this->news_model->delete_news($id);
    redirect('/news/');
}

但这并没有考虑回到特定的新闻项目。

请让我知道如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

您只需要引用新闻ID。假设/ news / n /是一个有效的网址。

public function delete($id = NULL, $newsId)
{
    $this->news_model->delete_news($id);
    redirect('/news/' . $newsId);
}

答案 1 :(得分:0)

在您的视图中添加此内容

<a href="<?php echo base_url() ?>Controller_name/delete/<?php echo ($id /* as your code */) ?>" >delete</a>

因此,当您单击该链接时,它将使用ID调用控制器。

所以在控制器中

在控制器中

public function delete($id)
{
    $result = $this->news_model->delete_news($id);
    if($result == TRUE){
        redirect('news'); # this will call index
    }
    else{
        echo 'Delete Error';
   }
}

在模型中

public function delete_news($id)
{
    # Change table name as well
    if (!$this->db->delete('table_name', array('id' => $id))) {
        # Error
        return FALSE;
    }
    else{
        # Success
        return TRUE;
    }
}

编辑01

public function delete($id)
{
    $result = $this->news_model->delete_news($id);
    if($result == TRUE){
        $data['data'] = $this->model_name->data_method();
        $this->load->view("View_name");
    }
    else{
        echo 'Delete Error';
   }
}