| 제목 | route 설정 한번만 더 질문드립니다 ㅠ | ||
|---|---|---|---|
| 글쓴이 | 책상다리 | 작성시각 | 2013/11/13 12:52:29 |
|
|
|||
|
어제 질문드렸는데, 이렇게 또 올리게 될줄은..ㅠㅠ 어제 정상적으로 페이징처리 하고, 뷰페이지를 만들려고 만들고 링크를 걸었는데요. 뷰페이지 주소는 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
순서를 바꿔 보세요.
|
|
책상다리
/
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 에서 상위에 적힌것이 우선한답니다. (메뉴얼에서 읽었음 ㅋㅋ)
|