如何处理笨多个参数(how to handle multiple parameters in cod

2019-10-29 05:49发布

我正在允许用户以两种方式查看书籍:无论是“列表”视图或“网格”视图。 所以我想接收参数为网格或列表,并显示视图页面接收的参数。 但我不知道如何在笨的控制器处理这个问题。

同时,我已经有我的网页上分页。 我的网址显示http://localhost/thebestbookfinder.com/viewallbooks/books/pgn/9并在此我想通过像视图=网格或视图=列表中的参数,我必须接受它在我的控制器。

所以可能是我的网址是: http://localhost/thebestbookfinder.com/viewallbooks/books/pgn/9/grid那又怎么会接受它在我的控制器。

请帮我解决这个问题。

Answer 1:

你为什么不这样做就像你在这里得到分页数量的方式$page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0; $page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;

你可以这样做$viewType = ($this->uri->segment(5)) ? $this->uri->segment(5) : 'list'; $viewType = ($this->uri->segment(5)) ? $this->uri->segment(5) : 'list'; 如果你想将它传递给视图$data['viewType '] = $viewType;

再后来在调用视图的部分$this->load->view('commonfiles/booksview',$data); ,你既可以已经创建了2个独立的观点一个列表,一个用于网格视图并调用相应的一个依赖于$viewType ,或在一个视图文件既代码,并从中选择其与显示if语句比较$data['viewType'] 。 我建议第一个选项。

此外,在笨,你可以通过URI段作为函数的参数与他们在URI的顺序,这样的例子function books($hasPagination, $paginationNumber, $viewType = 'list'){将得到此URI参数http://localhost/thebestbookfinder.com/viewallbooks/books/pgn/9/grid并且这些值将被分配这样的: $hasPagination = 'pgn'; $paginationNumber = 9; $viewType = 'grid'; $hasPagination = 'pgn'; $paginationNumber = 9; $viewType = 'grid';

您也可以通过GET参数照常viewallbooks/books?pagination=true&pgn=9&viewType=list ,然后处理他们中的每一个与内置在这样功能$viewType = $this->input->get('viewType') $pgn = $this->input->get('pgn')等等。



文章来源: how to handle multiple parameters in codeigniter