CI 묻고 답하기

제목 안녕하세요 질문드립니다.
글쓴이 과학나라 작성시각 2013/12/10 17:33:47
댓글 : 9 추천 : 0 스크랩 : 0 조회수 : 15492   RSS
 
지금 페이징 구현하는 도중 나오기는 나오는데요.

예를들어  


 1 2 >       

2페이지로 갈려고 "2"를 클릭하면  2페이지로는 갈수 있는데

페이징 볼때는  2페이지에 br테그 적용되어야하는데  1페이지에 br테그 적용되어 있네요.

다른 게시판에는 잘 적용이 되는데 제가 새로운 게시판 하면서 이런 현상이 나타납니다.

원인을 몰라 이렇게 질문을 올립니다.

$this->load->library('pagination');
     
$limit = $this->uri->segment(5,0); //세그먼트 5번째껄 가져오는데 없으면 0
    
 $offset = 10;  //한 리스트에 보여줄 리스트의 숫자. 10이면 한페이지에 10개가 보인다.
$count['page_count'] = $this->db->count_all('GN_product'); //limt만큼 제한된 자료를 db에서 추출..
    
$config['base_url']='http://주소/주소/주소/주소/주소/';
$config['total_rows'] = $count['page_count'];
$config['per_page'] = $offset; //한페이지에 10개만 보여줄꺼니까.
$config['num_links'] = 10;
    
$this->pagination->initialize($config);
//모델로 보내기
$data_result = $this->product->list_result(테이블이름, 조인부분, 조인필드, 필드네임, $sql_where, 
검색관련, 검색관련, $config['per_page'], $limit, $order_by); 

------------생략-------------

$data = array(
 ------생략----
  "paging" => $this->pagination->create_links(),
 );
    
modle부분입니다.
 
 function list_result($table_name, $join_table, $join_field, $field_name, $sql_where, $searchkey, $searchvalue, $limit, $offset, $order_by, $group_by='', $jointype='') 
{
=============생략========================
   
 if ($limit>0)
  $qry = $this->db->get($테이블 이름, $limit, $offset);
  else
  $qry = $this->db->get($테이블 이름);
    
  $result["qry"] = $qry->result_array();
  
  $this->db->flush_cache();
   
  return $result;
  }  







무엇이 문제일까요?ㅠ,ㅠ












 다음글 처음 해보는데 디비접속 에러가 나와요 (5)
 이전글 DB 암호화 (8)

댓글

변종원(웅파) / 2013/12/10 17:45:39 / 추천 0
무슨 말인지 이해가 잘 안되네요.

1페이지에 br, 2페이지에 br? ^^;;

br이 아니라 <b> 태그 말씀이군요. 

크롬에서 2페이지에서 마우스 오른쪽 클릭 - 요소검사 눌러서 적용된 css 보세요.
과학나라 / 2013/12/10 17:51:09 / 추천 0
 아 제가 잘못말했습니다.


 1 2 >       에서   "2"를 클릭하면  < 1 2 로 변해야 하는데

 1 2 >  되면서  다시 "1"이 안눌러집니다.

여기서 2페이지로 왔는데 2페이지를 눌러집니다.ㅡㅡ;/

어떻게 된건지 ㅠ,ㅠ
변종원(웅파) / 2013/12/10 17:54:49 / 추천 0
작동을 제대로 안하고 있는겁니다. 2페이지가 블록이 되어야 하는데 바뀌지 않으니
페이징이 제대로 작동하지 않는 겁니다.

컨트롤러안의 각 값들 출력해보세요.
과학나라 / 2013/12/10 18:00:25 / 추천 0
$config 한번 출력해봤지만, 전체 값 숫자도 잘 나오고 segment도 숫자 알맞게 들어갔고. 
변종원(웅파) / 2013/12/10 18:11:39 / 추천 0
$limit$offset 값은 따로 계산하시는거죠?
과학나라 / 2013/12/10 18:16:09 / 추천 0
 네 그렇습니다. ㅠㅠ limit는 5페이지 아무 숫자 없으면 0으로 처리했습니다. 
변종원(웅파) / 2013/12/10 18:23:29 / 추천 0
현재 상태로는 답변이 더이상 안됩니다. 해당 소스 전체를 올려주시던가 해야할 것 같네요.

스무고개가 미로로 가는 느낌이네요
수야디벨 / 2013/12/10 23:59:38 / 추천 0


페이지 세그먼트를 제대로 지정 안해줘서 그런거 같군요 .^^

이런 질문은 페이지 네이션의 단골 질문이라서 검색만 해보셨어도 금방 찾으셨을텐데 ..

http://www.codeigniter-kr.org/qna/view/11749/page/2/q/페이지

이건 제가 예전에 답변달았던거 복사해온거입니다

우선 페이지네이션 메뉴얼을 정독하시길 권해드립니다 .

http://codeigniter-kr.org/user_guide_2.1.0/libraries/pagination.html

1. 1 2 3 4 5 > 이렇게 나와야 하는데 1 2 3 > 이렇게 나와요.

이 문제는 헛발이님이 올려주신 소스에 보면 num_links => 5, 이부분이 있죠?

메뉴얼에도 나와 있지만 num_links => 5 의 숫자에 따라서 최초 보여지는 링크 숫자가 결정되요.

메뉴얼에 보면 기본 설정은 um_links=> 2 입니다. 그렇기 때문에 1 2 3 > 으로 보이는거에요.


2.다른 페이지로 넘어갔는데 링크 부분에 계속 1페이지다 ?

이 역시 메뉴얼에도 나와 있지만 , 페이지 네이션은 기본설정이 $config['uri_segment'] = 3;

이기 때문입니다.

http://ip/controll/function/per_page 형식이 기본 형식이에요.

만약 주소가 http://ip/controll/function/variable/per_page 라면,

당연히 페이지 링크가 계속 1페이지죠. 저기서 per_page는 세그먼트가 4거든요.

$config['uri_segment'] = 4; 로해야 링크가 바뀝니다.

과학나라 / 2013/12/11 15:34:54 / 추천 0
 감사합니다 많은것 배우고 갑니다. 감사합니다.