2014-05-09 3 views
0

MVC 코드 기반 프로젝트에서 작업하고 있습니다. 나의 현재 설정은 다음 쿼리 (../models/mode.php)에 따라 페이지에서 최대 10 표에 표시페이지 매기기 작업이 가능합니다.

$function getlist($time) 
    { 
    $query = $this->db->query('select * from (select job, username,test from jobs by time desc limit 10) as a order by time desc'); 
..... 
} 

쿼리가 잘 작동하고 페이지에서 10 표를 표시하도록합니다. 데이터베이스에는 10 개 이상의 항목이 있지만 각 페이지에 10 개의 테이블을 넣고 페이지 매김을 통합하여 10 개의 다른 페이지에서 100 개의 결과를 모두 볼 수 있습니다.

컨트롤러에는 페이지 라이브러리가 있지만 도움이되지 않는 부분이 있습니다.

  $this->load->library('pagination'); 
      $config['base_url']= 'http://localhost/pc/index.php/proj/submit/'; 
      $config['uri_segment'] =5; 
      $config['total_rows']= 100; 
      $config['per_page'] = 10; 

      $this->pagination->initialize($config); 
      echo $this->pagination->create_links(); 

그냥 링크를 만들 수 있습니다 않지만 (이 컨트롤러 나던으로 그것에 대해 알 당연히) 나 다른 페이지를 통과 할 수 나던 모든. 나는 한계가 시작과 끝 값을 가질 필요가 있다고 생각한다. 0,100이나 시작하고 끝내라. 그러나 어떻게하면 컨트롤러가 똑같이 알 수있게 할 수 있을까? 의견이나 제안이 있으십니까? 나는 MVC 세계와 PHP/MySQL에 익숙하지 않다.

당신은 당신의 모델의 페이지 매김을 처리해야
+0

시도가 보이는 , 그러나 제 3. 왜'$ config [ 'uri_segment'] = 5'입니까? –

+0

왜냐하면 기본 URL이 5 개의 세그먼트 (로컬 호스트, PC, index.php, proj 및 제출)가 존재하기 때문입니까? 그 결함이 있습니까? 그게 내가'http : // ellislab.com/codeigniter/user-guide/libraries/pagination.html'에서 결론을 낸 것입니다. –

+0

전혀 세그먼트가 아닙니다 !! 세그먼트는'index.php' 다음의 비트이므로'proj/submit'은 세그먼트 1과 2입니다. –

답변

0

:

$function getlist($time, $start, $limit) 
{ 
    $query = $this->db->query('select * from (select job, username,test from jobs by time desc limit 10) as a order by time desc limit '. $limit .', '. $start); 
..... 
} 

그리고 컨트롤러에서 : 당신이 5 세그먼트를 사용하지 않는 것처럼

// Get pagination page  
$page = ($this->uri->segment(5))? $this->uri->segment(5) : 0; 

$data = $this->mode_model->getlist($time, $config["per_page"], $page); 
+0

그리고 $ limit와 $ start는 정의되어 있습니다. –

+0

위의 수정 사항을 적용한 지금 페이지에 아무 것도 표시되지 않는 것 같습니다. –

0

$config['uri_segment'] =3; 
+1

이것은 문제를 해결할 수 있지만 그것이 무엇을 설명하고 왜 그 질문에 대한 대답인지 설명하면 훨씬 더 유용 할 것입니다. – AdrianHHH

+0

'uri_segment'는 URL의 세그먼트에서 페이지 매김의 기능을 갖는 것입니다. 이전 주석에서 언급했듯이. –