CI 묻고 답하기

제목 pagination 질문입니다.
글쓴이 싸이클로크로스 작성시각 2015/11/10 16:25:30
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 15246   RSS
만들면서 배우는 프레임워크 책대로 다쳤는데 pagination에서 system에러가 나내요 
이런 상황은 어떻게 해결해야하나요?
atal error: Unsupported operand types in C:\Bitnami\wampstack-5.5.29-0\apache2\htdocs\todo\system\libraries\Pagination.php on line 409
이런식으로 뜨네요

혹시 몰라서 controller와 model을 올려봅니다 ㅜ
    public function test(){
        //pagenation start
        $this->load->library('pagination');

        $config['base_url']='/main/test/blogtable/page';
        $config['total_rows']=$this->blog_m->read('count');

        $config['per_page']=5; //한페이지  표시
        $config['uri_segment']=5;     //밑에 번호 

        $this->pagination->initialize($config);
        $data['pagination'] =$this->pagination->create_links();

        $page=$this->uri->segment(5,1);
        if($page >1)
        {
            $start=((int)($page/$config['per_page']))*$config['per_page'];
        }
        else
        {
            $start=((int)$page -1)*$config['per_page'];
        }
        $limit=$config['per_page'];

        $data['blog']=$this->blog_m->read('Blogtable','',$start,$limit);
        $this->load->view('shopinfo',$data);
    }
    public function viewone(){
        $id=$this->uri->segment(3);
        $data['vvv']=$this->blog_m->readone($id);
        $this->load->view('view_vv',$data);
    }
model
function read($table='Blogtable',$type='',$offset='',$limit=''){
        $limit_query='';
        if($limit !='' OR $offset !='')
        {
            $limit_query='Limit'.$offset.','.$limit;
        }

        $sql ="select * from Blogtable order by no DESC";

        $query =$this->db->query($sql);

        if($type =='count')
        {
        $result=$query->num_rows();    
        }
        else
        {
            $result=$query->result();
        }
    

        return $result;
    }
 다음글 Module 'curl' already loaded 에... (3)
 이전글 redirect 문제 다시 올립니다.ㅜ (3)

댓글

변종원(웅파) / 2015/11/10 16:48:54 / 추천 0
codeigniter 버전이 어떻게 되시는데요?
책은 2.X를 기준으로 쓰여졌습니다. 2.X대에는 Pagination.php가 340라인으로 끝납니다.
3.X대이면 3 매뉴얼 보시고 수정해보세요.

또는 $page 변수에 숫자가 아닌 값이 들어갔을 수도 있습니다. 주소를 확인해보시고 $page 변수 출력해보세요.
싸이클로크로스 / 2015/11/11 16:17:14 / 추천 0
웅파님 계속 질문해서 죄송합니다.
pagination에 대해서 3.0 부분을 봐도 
바낀 부분은 $data['pagination'] = $this->pagination->create_links() 가 
echo $this->pagination->create_links() 로 바뀐 것 밖에 없는데 이부분을 적용시켜도 에러가 난다면 system안에 있는 pagination을 수정해야한 건가요? pagination 409줄은 <ul class="wy-breadcrumbs"> 이렇게 있습니다.
에러메세지가 Unsupported operand types 이런식으로 뜨니 접근하기가 조금 힘듭니다 .
조금만 더 도와주세요
변종원(웅파) / 2015/11/11 16:30:53 / 추천 0
409라인 보시면 

$num_pages = (int) ceil($this->total_rows / $this->per_page); 라고 되어 있습니다.

둘중 하나의 값이 숫자가 아닌 다른게 들어간겁니다. 

$config['total_rows']=$this->blog_m->read('count');

$config['total_rows'] 출력해보세요

 
싸이클로크로스 / 2015/11/11 16:33:33 / 추천 0
아 감사합니다 되네요 제가 잘몰랐습니다 답변감사드립니다