CI 묻고 답하기

제목 페이징 하나만 더 질문이요~ ^^;;
글쓴이 무소유 작성시각 2012/03/22 13:54:23
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 17681   RSS
function projectlist() {
  $this->seg = new search_seg();
  $perpage = 2;
  $page = $this->seg->get_seg('page');
  if(!$page) $page=1;
  $sqltotal="select * from project";
  $qryt = $this->db->query($sqltotal);
  $total=$qryt->num_rows();
  $start = ($page - 1) * $perpage;
  $this->db->order_by('pj_idx','desc');
  $qry = $this->db->get('project', $perpage, $start);
  $data['total'] = $total;
  $data['start'] = $start;
  foreach($qry->result_array() as $row) {
   $row['btn1']="<a href='/project/classlist/pj_idx/$row[pj_idx]'><img src=/img/snowballeng/btn_s_lset.gif border=0></a>";
   $row['btn2']="<a href='/project/projectview/pj_idx/$row[pj_idx]'><img src=/img/snowballeng/btn_s_allview.gif border=0></a>";
   $row['btn3']="<a href='/project/projectedit/pj_idx/$row[pj_idx]'><img src=/img/snowballeng/btn_s_modify.gif border=0></a>";
   $row['btn4']="<a href='[removed]ConfirmX2($row[pj_idx]);'><img src=/img/snowballeng/btn_s_delete.gif border=0></a>";
   $data['list'][] = $row;
  }
  $this->load->library('pagination');
  $config['base_url'] = '/project/projectlist/page/';
  $config['total_rows'] = $total ;
  $config['per_page'] = $perpage;
  $config['uri_segment'] = 4;
  $config['num_links'] = 2;
  $config['full_tag_open']  = '<div id=pagination>';
  $config['full_tag_close'] = '</div>';
  $config['cur_tag_open']  = '<span class=current>';
  $config['cur_tag_close'] = '</span>';
  $this->pagination->initialize($config);
  $data['paging'] = $this->pagination->create_links();

  $this->load->view('adm/projectlist',$data);
 }


아래 안나오던 것은 total 값을 구하기 위해 쿼리 다시 보내서 값을 대입하니 해결이 되었습니다. ^^ ; 감사합니다.
그런데 숫자에 링크되는 페이지 값이 잘못 계산되어 나오네요.

total 이 9개이고 perpage 2 이므로  1/ 2 / 3/ 4/ 5 이거는 잘 출력되는되 각 넘버링에 링크되는게 잘못된 값이 링크가
걸리네요.
1에는 /project/projectlist/page/  상관이 없지만
2에는 /project/projectlist/page/2
3에는 /project/projectlist/page/4
4에는 /project/projectlist/page/8  이런식으로 page가 이상하게 링크가 걸리네요. ㅡㅡ;;
어딜 수정해야 될지 페이지네이션 메뉴얼을 봐도 없어서 이렇게 염치불구 질문드립니다.
 다음글 데이터베이스 클래스 질문있습니다. (3)
 이전글 paging이 안되네요... (2)

댓글

변종원(웅파) / 2012/03/22 15:43:49 / 추천 0
우리나라에서 만든게 아니다보니 개념이 좀 다릅니다. 
위 링크가 정상이구요. 왜냐하면 per_page가 2이기 때문에 한 페이지에 글이 2개 표시가 되고
우리나라 개념이라면 첫번째 페이지 1, 두번째 2 이런 식이지만
ci에서는 0X2, 1X2, 2X2 식입니다.

2.1.버전에서는 아래 설정이 추가됐네요. true로 주면 실제 페이지 번호를 쓴답니다.

$config['use_page_numbers'] = TRUE;

변종원(웅파) / 2012/03/22 15:44:19 / 추천 0
추가로.... 포럼소스는 살짝 수정된 걸 씁니다.

소스 받아서 함 적용해보세요.
무소유 / 2012/03/22 16:02:13 / 추천 0

아...이런게 있었네요. 어제 오늘 이것 때문에 페이징은 많이 공부가 된 듯 합니다. ^^: 감사합니다.
위의 설정을 적용해도 그대로네요. 포럼 소스 참고 해서 적용해야겠습니다.
매번 부족한 질문에 매우 성실한 답변 너무 감사드립니다. 열공으로 보답하도록 노력하겠습니다. ^^;
 

무소유 / 2012/03/22 18:27:23 / 추천 0
포럼소스로 고치고 마냐님 공개보드의 스타일을 적용했습니다. a태그로 인해 현재페이지 일때 외곽선만 두껍게 보이지만 그래도 이쁘네요.. 감사합니다~ ^^;