21'C 흐림
서울 강남구
한 페이지에 게시판 두개를 불러와서 각각 따로 페이징 처리를 하는 방법
원래라면 쿼리구문을 따로 처리해서 그룹핑을 해야하지만 이 방식이 좀 더 쉬운 방법이라고 생각
전체적인 파일 구조
게시판을 불러올 파일을 만드신후 그 안에
1) bbs/new1.php(각 게시판 용도에 맞게 쿼리만 수정시키면 됩니다)
2) bbs/new2.php(각 게시판 용도에 맞게 쿼리만 수정시키면 됩니다)
파일을 인클루드 시킵니다.
각 게시판별로 request되는 page변수를 pageK와 pageC로 분리해서 내보냅니다
1) lib/common.lib.php에서 get_paging을 변형하여 함수를 따로 만들어 줍니다
url관련 부분만 변경하면 됩니다.
function get_paging1($write_pages, $cur_page, $total_page, $url, $add="")
{ $url = preg_replace('#&pagek=[0-9]*#', '', $url) . '&pageC='.$pageC.'&pagek=';
function get_paging2($write_pages, $cur_page, $total_page, $url, $add="")
{ $url = preg_replace('#&pagek=[0-9]*#', '', $url) . '&pagek='.$pagek'&pageC=';
2) new1.php / new2.php 111번째줄 수정하여 함수를 불러줍니다
new1.php에서
$write_pages = get_paging1(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $pagek, $total_page, "?gr_id=$gr_id&view=$view&mb_id=$mb_id&pagek=");
new2.php에서
$write_pages = get_paging2(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $pageC, $total_page, "?gr_id=$gr_id&view=$view&mb_id=$mb_id&pageC=");
3) common.php에 전역변수 두개 추가
if (isset($_REQUEST['pagek'])) { // 리스트 페이지
$pagek = (int)$_REQUEST['pagek'];
if ($pagek)
$qstr .= '&pagek=' . urlencode($pagek);
} else {
$pagek = '1';
}
if (isset($_REQUEST['pageC'])) { // 리스트 페이지
$pageC= (int)$_REQUEST['pageC];
if ($pageC)
$qstr .= '&pageC=' . urlencode($pagekC);
} else {
$pageC = '1';
}
한 파일내에서 쿼리문을 나눠서 처리하는 방식이 아닌, 불러올 게시판 수만큼 파일과 변수를 만들어 내는 방식이지만 페이징에 어려움을 겪는분들께 도움이 되었으면 좋겠습니다.