将查询字符串传递给codeigniter

时间:2018-06-02 07:44:23

标签: php codeigniter-3

我正在尝试重新加载页面内容。通过链接按钮Filter In PHP 通过查询字符串将一些值传递给控制器​​方法。 Controller方法从我传递查询字符串的位置加载相同的页面。 但是观点不再重新加载。 但如果我调用控制器方法一些其他视图它工作正常。 这是我的代码

mainview.php

<a href="<?=base_url()?>maincontroller?language=English">English</a>

maincontroller.php

这是控制器的索引方法。

    $movielanguage=$this->input->get('language');
    if(!empty($movielanguage))
        {
            $moviedata['popularmovies']=$this->main_model- 
            >getmoviebylanguage($movielanguage);
        }

    $moviedata['allmovies']=$this->main_model->getAllMovies();
    $this->load->view('home/mainview.php',$moviedata);
}

此处视图不会刷新其内容 我该如何解决这个问题

1 个答案:

答案 0 :(得分:1)

希望这会对您有所帮助:

首先 如果您想要一个视图,应该将其编码为if else条件,然后再将您的数据分配到同一个变量中

您的代码应该是这样的:

public function index()
{
    $movielanguage=$this->input->get('language');
    if(! empty($movielanguage))
    {
        $moviedata['movies']=$this->main_model->getmoviebylanguage($movielanguage);
    }
    else
    {
        $moviedata['movies']=$this->main_model->getAllMovies();
    }

    $this->load->view('home/mainview.php',$moviedata);
}

:如果您想为不同类别的电影添加不同的视图

你可以这样做:

public function index()
{
    $movielanguage=$this->input->get('language');
    if(! empty($movielanguage))
    {
        $moviedata['popularmovies']=$this->main_model->getmoviebylanguage($movielanguage);
        /*popularview is just an example*/
        $this->load->view('home/popularview.php',$moviedata);

    }
    else
    {
        $moviedata['allmovies']=$this->main_model->getAllMovies();
        /*allview is just an example*/
        $this->load->view('home/allview.php',$moviedata);
    }
}