CI 묻고 답하기

제목 페이지네이션 링크 관련 질문.
글쓴이 코드이그맨 작성시각 2016/08/23 11:02:55
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 20704   RSS

페이지네이션으로 페이징 처리를 다시 해보고 있는데,

 

예전에 할때는 잘 했던거 같은데 -_-..

 

문제가..

 

2로 가면, 원하는 목록은 잘 출력을 합니다.

문제는 링크가.. 계속 2는 활성화 되어있구요. 1은 죽어있습니다 -_-;;; 

이거 왜 그런거죠 ㅠㅠ..


첨부파일 제목 없음.png (186.7 KB)
 다음글 url설정 질문이 있습니다 (1)
 이전글 db 연동 관련입니다 (PDO) (4)

댓글

kaido / 2016/08/23 11:49:21 / 추천 1

설정 미스 입니다.

 

2페이지를 누르셨다고 하셨죠?

그런데 위에 숫자는 5가 되어있네요.

 

즉 페이지당 숫자 진행은 5개 단위로 해놓으셨는데, 밑에 페이지 링크는 1개 단위로 계산되어 있는 것입니다.

$config['per_page'] // 해당 옵션과 query 실행 부분을 확인해 보세요.

 

어느 한쪽은 숫자를 맞춰야 합니다.

 

참고로 저같은 경우에는 이런건 옛날 로직 사용하는걸 좋아해서 $config['per_page'] = 1; 로 맞춰놓고

db query 에서 page * page_size 로 계산합니다.

코드이그맨 / 2016/08/23 12:24:24 / 추천 0
$config['total_rows'] = $row->cnt;
$config['per_page'] = 5;
$config['num_links'] = 3;

위와 같은 형태로 되어있습니다.

per 페이지는 페이지당 보여줄 페이지수 아닌가요?

 

1페이지당 5개의 게시물이 나오는 형태구요.

현재 더미 데이터가 총 10개입니다.

그럼 1 2 생성되는건 맞습니다.

문제는 2를 누르면 나머지 5개 데이터가 나오지만, 1링크는 활성화가 안됩니다..흠;

코드이그맨 / 2016/08/23 15:12:52 / 추천 0

-_-

uri 세그먼트 지정하니까 되는 이 현상은 뭐지..?;

 

//Pagination
$config['base_url'] = 'http://crud.kr/board/board/index';
$config['total_rows'] = $row->cnt;
$config['per_page'] = 5;
$config['num_links'] = 2;
$config['uri_segment'] = 4;

 

controller 폴더 _ board폴더 _ board class가 있는 형태인데..

뭐지..허허 참 어이가;;

kaido / 2016/08/23 15:44:22 / 추천 0

자세한건 알수 없다만

uri_segment 가 안맞았다면  이런 현상이 일어났을 겁니다.

php는 없는 값을 숫자로 변환 시켜야 하는 상황이면 0 으로 만드는 재주가 있어요.

그런데 페이지 넘버는 이미 넘어가서 쿼리는 작동이 되었는데 page 값은 계속 0 으로 오인 하는 겁니다.

더욱이 ci 페이지 네이션 코어를 보시면 uri 가 없을 경우 0으로 하거나 0은 1로 취급하는 구문이 있습니다.

[맞을거에요 아마도]

 

이런 복잡한 꼬임 현상이 빚어내서 '윅? 이게 뭔 현상이지?' 하는 케이스가 생기는 것이죠.

 

참고로 제가 말한 둘중 하나를 맞추라는 것은

ci 방식의 page 계산법과 고전적인 page 계산법이 있습니다.

간혹 이걸 헷깔려서 혼합해서 쓰는 경우가 있습니다.

 

자세한건 제가 ci 페이지네이션 3.0 버전을 다시 재 정리해서 강좌로 만들려고 하고 있는데 그때 확인을 해보심이 ㅎㅎ

코드이그맨 / 2016/08/23 15:55:46 / 추천 0

/카이도

카이도님 감사합니다 하악하악.