CI 묻고 답하기

제목 route 설정 한번만 더 질문드립니다 ㅠ
글쓴이 책상다리 작성시각 2013/11/13 12:52:29
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 14159   RSS
 어제 질문드렸는데, 이렇게 또 올리게 될줄은..ㅠㅠ
어제 정상적으로 페이징처리 하고, 뷰페이지를 만들려고 만들고 링크를 걸었는데요.
뷰페이지 주소는 board/view/숫자 입니다.
오류는 일단 아래와 같이 나는데요.
SELECT * FROM board ORDER BY board_id DESC LIMIT -5, 5
이것도 주소를 간략하게 만들면서 세그먼트 설정이 잘못된거 같아 이것저것 건드려봤는데, 아닌거 같애서요 ㅠ
그래서 라우팅쪽이 문제 같아서..질문 드립니다.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Board extends CI_Controller {

 function __construct()
 {
  parent::__construct();
    $this->load->database();
    $this->load->model('board_m');
 }

 public function index()
 {
  $this->lists();
 }

 public function _remap($method)
 {
  if( BROWSER_TYPE == 'W' )
  {
   $this->load->view('header_v');

   if( method_exists($this, $method) )
   {
    $this->{"{$method}"}();
   }

   $this->load->view('footer_v');
  }
  else if( BROWSER_TYPE == 'M' )
  {
   $this->load->view('mobile_header_v');

   if( method_exists($this, $method) )
   {
    $this->{"{$method}"}();
   }
   $this->load->view('mobile_footer_v');
  }
 
 }

 public function lists()
 {
  $this->load->library('pagination');
  //페이지네이션 설정
  $config['base_url'] = '/board/';
  $config['total_rows'] = $this->board_m->get_list($this->uri->segment(1),'count');
  //게시물 전체 개수
  $config['per_page'] = 5;
  $config['uri_segment'] = 2;

  //페이지네이션 초기화
  $this->pagination->initialize($config);
  //페이지링크를 생성하여 view에서 사용할 변수에 할당
  $data['pagination'] = $this->pagination->create_links();

  //게시물 목록을 불러오기 위한 offset, limit 값 가져오기
  $page = $this->uri->segment(2, 1);

  if( $page > 1 )
  {
   $start = (($page/$config['per_page'])) * $config['per_page'];
  }
  else
  {
   $start = ($page-1) * $config['per_page'];
  }
  $limit = $config['per_page'];

  $data['list'] = $this->board_m->get_list('board','',$start,$limit);
  //$this->load->view('board/list_v',$data);

  if( BROWSER_TYPE == 'M')
  {
   $this->load->view('mobile_list_v',$data);
  }
  else
  {
   $this->load->view('list_v',$data);
  }
 }
 public function view()
 {
  //게시판 이름과 번호에 해당하는 게시물 가져오기
  $data['views'] = $this->board_m->get_view($this->uri->segment(1), $this->uri->segment(3));

  if( BROWSER_TYPE == 'M')
  {
   $this->load->view('mobile_view_v',$data);
  }
  else
  {
   $this->load->view('view_v',$data);
  }
 }
소스는 위와 같은데 
board/view/숫자 니까 세그먼트는 1과 3을 주는게 맞는거 같은데 말입니다 ㅠ 
아 라우트 설정 쪽은
$route['board/(:any)'] = "board/lists";
$route['board/view/(:any)'] = "board/view"; 
이렇게 두개 주었습니다.
근데 재밌는건;;위의 두 설정을 전부 주석처리하면, 어제처럼 페이징처리는 안되고 view페이지는 정상적으로 뜨는겁니다ㅠㅠ 
뭔가 문제가 있긴 한건데..해결을 못하겠습니다 ㅠㅠ
도움 좀 부탁드립니다 ㅠ





태그 route
 다음글 CI 모델 구조와 쿼리 방식에 대해서 문의드리겠습니다. (8)
 이전글 페이지네이션 질문좀 드립니다. (2)

댓글

한대승(불의회상) / 2013/11/13 13:58:21 / 추천 0
순서를 바꿔 보세요.

$route['board/view/(:any)'] = "board/view"; 
$route['board/(:any)'] = "board/lists";




책상다리 / 2013/11/13 14:02:38 / 추천 0
답변 감사합니다.
어떻게 순서가 바뀌니까 둘다 잘 작동하네요;;;?
어..왜그런건가요 ㄷㄷ;;;;
한대승(불의회상) / 2013/11/13 14:17:42 / 추천 0
(:any) 에는 view 도 포함 된답니다.
CI 입장에서는 첫번째 조건이 만족하면 두번째 조건이 맞는지 확인 할 필요가 없거든요.
책상다리 / 2013/11/13 14:27:21 / 추천 0
 아 그런...
감사합니다 ㅠ 
가내수공업개발자 / 2013/11/14 04:06:50 / 추천 0
아 그리고, url route 에서 상위에 적힌것이 우선한답니다. (메뉴얼에서 읽었음 ㅋㅋ)