한 페이지에 두개 게시판 불러와서 페이징처리(샘플파일추가) > 그누보드5 팁자료실

그누보드5 팁자료실

한 페이지에 두개 게시판 불러와서 페이징처리(샘플파일추가) 정보

한 페이지에 두개 게시판 불러와서 페이징처리(샘플파일추가)

첨부파일

첨부파일 slowduk.zip (43.9K) 4회 다운로드 2019-04-14 21:32:55

본문

한 페이지에 게시판 두개를 불러와서 각각 따로 페이징 처리를 하는 방법입니다. 

원래라면 쿼리구문을 따로 처리해서 그룹핑을 해야하지만 이 방식이 좀 더 쉬운 방법이라고

생각해서 올려봤습니다.

 

아래는 한페이지에 새글 게시판을 조건에 맞게 따로 두개를 만들어서 함께 불러온 예시입니다.

988413851_1555027481.4115.png

 

전체적인 파일 구조

게시판을 불러올 파일을 만드신후 그 안에

     1) bbs/new1.php(각 게시판 용도에 맞게 쿼리만 수정시키면 됩니다 + 스킨을 따로 include)

     2) bbs/new2.php(각 게시판 용도에 맞게 쿼리만 수정시키면 됩니다 + 스킨을 따로 include)

파일을 인클루드 시킵니다.

 

각 게시판별로 request되는 page변수를 pageK와 pageC로 분리해서 내보냅니다

0)new1.php, new2.php각각 35번째줄


$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if ($pagek < 1) $pagek = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($pagek - 1) * $rows; // 시작 열을 구함

$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if ($pageC < 1) $pageC = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($pageC - 1) * $rows; // 시작 열을 구함

 

1) lib/common.lib.php에서 get_paging을 변형하여 함수를 따로 만들어 줍니다

url관련 부분만 변경하면 됩니다.

 

function get_paging1($write_pages, $cur_page, $total_page, $url, $add="")
{
    if(isset($_GET['pageC'])){
        $pageC = $_GET['pageC'];
    }
    //$url = preg_replace('#&page=[0-9]*(&page=)$#', '$1', $url);
    $url = preg_replace('#&pagek=[0-9]*#', '', $url) . '&pageC='.$pageC.'&pagek=';

    $str = '';

 

function get_paging2($write_pages, $cur_page, $total_page, $url, $add="")
{
    if(isset($_GET['pagek'])){
        $pagek = $_GET['pagek'];
    }
    //$url = preg_replace('#&page=[0-9]*(&page=)$#', '$1', $url);
    $url = preg_replace('#&pageC=[0-9]*#', '', $url) . '&pagek='.$pagek.'&pageC=';

    $str = '';

 

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';

}

4) 각 스킨 40번째줄

for ($i=0; $i<count($list); $i++)
    {
        $num = $total_count - ($pagek - 1) * 3 - $i;
        $gr_subject = cut_str($list[$i]['gr_subject'], 20);
        $bo_subject = cut_str($list[$i]['bo_subject'], 20);
        $wr_subject = get_text(cut_str($list[$i]['wr_subject'], 80));

?>

for ($i=0; $i<count($list); $i++)
    {
        $num = $total_count - ($pageC - 1) * 3 - $i;
        $gr_subject = cut_str($list[$i]['gr_subject'], 20);
        $bo_subject = cut_str($list[$i]['bo_subject'], 20);
        $wr_subject = get_text(cut_str($list[$i]['wr_subject'], 80));

?>

 

*요청하신분이 계셔서 샘플파일을 추가했습니다.

(적용링크)

http://slowduk.com/slowdukdbx/bbs/mypage.php

 

-common.php(전역변수추가 295번째줄 - 309 번째줄)

-common.lib.php(페이징함수추가 17번째줄 - 98번째줄)

-mypage.php(불러올페이지 - bbs폴더에 넣어주세요)

-mypage1.php, mypage2.php(불러올게시판1,2 - bbs폴더에 넣어주세요)

-new.skin1.php, new.skin2.php(skin/new/basin에 넣어주세요, 42번째줄 - 48번째줄)

 

위 샘플은 그룹아이디가 mypage1, mypage2인 게시판을 불러옵니다. 다른그룹 아이디 적용시

mypage1.php / mypage2.php 13번째줄

$sql_common .= " and b.gr_id = 'mypage1' ";

에서 mypage1를 변경하시면 됩니다. 

추천7

댓글 전체

전 위 설명만 봐선 잘 모르겠어용. ^^;;;
위 팁 보고 따라 연습해봤는데....안 되네용. ㅜㅜ
혹시, 수정하신 파일 샘플 압축해 올려주시는 거 가능하시면 올려주시면 감사하겠습니다.

/index.php (불러올 파일)
/bbs/new1.php
/bbs/new2.php
/lib/common.lib.php
/common.php

전체 1,404 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT