如何使用codeigniter php从不同状态的控制器中的相同函数调用两个视图

时间:2015-12-13 04:51:56

标签: php codeigniter

我想从控制器中的相同函数(函数索引)调用两个不同的视图,

我已经将一个参数(一个id)传递给索引函数,当我的id值为null时,我希望显示所有博客列表,如果我得到一个id,那么我想只显示一个博客& #39; s id在url。

我已成功完成此操作,但我发出警告

遇到了PHP错误 严重性:警告 消息:缺少blog :: index()的参数1 文件名:controllers / blog.php 行号:5

所以请帮助我摆脱这种情况。

我的代码: -

class blog extends CI_Controller{

function index($url)
{
    $this->load->model('blog_model');
    $url = $this->uri->segment(1);
    $data['blog_details'] = $this->blog_model->getBlog($url);
    $data['blog_comment'] = $this->blog_model->getComment($url);
    $data['blog_all'] = $this->blog_model->getBlogAll();
    $this->load->view('blog',$data);
} }

1 个答案:

答案 0 :(得分:1)

我认为您最好为您期望获得的变量定义默认值:

function index($url = NULL){

如果没有参数传递给URL中的函数,这将使您的函数将$url设置为NULL

function index($url = NULL)
{
    $this->load->model('blog_model');
    //$url = $this->uri->segment(1);
    $data['blog_details'] = $this->blog_model->getBlog($url);
    $data['blog_comment'] = $this->blog_model->getComment($url);
    $data['blog_all'] = $this->blog_model->getBlogAll();
    $this->load->view('blog',$data);
}