2013-02-01 3 views
0

사용자가 두 가지 방법으로 책을 볼 수 있도록 허용하고 있습니다. "목록"보기 또는 "격자보기"중 하나입니다. 그래서 내가 격자 또는 목록으로 매개 변수를 수신하고보기 페이지를 매개 변수로받은 것으로 생각. 하지만 codeigniter 컨트롤러에서 어떻게 처리해야할지 모르겠다.codeigniter에서 여러 매개 변수를 처리하는 방법

그리고 내 페이지에는 이미 페이지 매김이 있습니다. 내 URL은 http://localhost/thebestbookfinder.com/viewallbooks/books/pgn/9을 보여 주며 이것에서 view = grid 또는 view = list와 같은 매개 변수를 전달하고자하며 내 컨트롤러에서이를 수신해야합니다.

그래서 내 URL이 될 수 있습니다 : http://localhost/thebestbookfinder.com/viewallbooks/books/pgn/9/grid 그런 다음 내 컨트롤러에서 어떻게 받게됩니까.

이 문제를 해결하는 데 도움을주십시오.

+0

같은 기능 내장으로 그들의 각 하나를 처리? – GBD

+0

@GBD 제발 대답을 –

답변

0

왜 당신은 당신이 당신이 $viewType = ($this->uri->segment(5)) ? $this->uri->segment(5) : 'list';을하고 있었다 여기 $page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;

매김 번호를 받고 방식처럼하지 않는다 당신은 나중에 다음 뷰 $data['viewType '] = $viewType;

에 전달하고 싶은 경우 보기 $this->load->view('commonfiles/booksview',$data);이라고 부르는 부분 인 경우 이미 하나의 목록과 격자보기에 대해 각각 2 개의 개별보기를 작성하고 $viewType에 따라 적절한보기를 호출하거나 하나의보기 파일에 두 코드를 모두 표시 할 수 있습니다. if 성명은 $data['viewType']입니다. 첫 번째 옵션을 권합니다. 이 예제처럼, 그들은 URI에있는 순서와 함수의 매개 변수로 URI 세그먼트를 통과 할 수 CodeIgniter의에서 또한

function books($hasPagination, $paginationNumber, $viewType = 'list'){이 URI http://localhost/thebestbookfinder.com/viewallbooks/books/pgn/9/grid에서 매개 변수를 얻을 것이다 값은 다음과 같이 할당됩니다 : $hasPagination = 'pgn'; $paginationNumber = 9; $viewType = 'grid';

또한 평소 viewallbooks/books?pagination=true&pgn=9&viewType=list 같은 매개 변수를 GET 전달할 수 있습니다 당신은 모두 별도의 의견을해야합니까 다음이 $viewType = $this->input->get('viewType'), $pgn = $this->input->get('pgn')

+0

내 위의 문제를 해결하기 위해 세 가지 방법을 설명 해주십시오. 그래서 나는 처음 것을 적용 할 생각. 나는 적용 및 테스트했지만 한 가지 문제에 직면하고 있습니다. 처음에 페이지가로드되면 처음으로 내 URL은'http : // localhost/thebestbookfinder.com/viewallbooks/books/pgn/1/grid'입니다. 그러나 페이지 번호를 클릭하면 URL이 http : //로 다시 시작됩니다. localhost/thebestbookfinder.com/viewallbooks/books/pgn/1' 그리고 이것 때문에 나는 나의 현재 견해를 잃어 가고있다. 어떻게해야할까요? –

관련 문제