채택완료

게시판 페이징 문제입니다.

2017-07-11 (화) 18:09:22 6,063

1.  list.skin.php (스킨)

<?php echo $write_pages; ?>

2. list.php(보드폴더내)

$write_pages = get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, './board.php?bo_table='.$bo_table.$qstr.'&amp;page=');

3. common.lib.php (lib 폴더내)

function get_paging($write_pages, $cur_page, $total_page, $url, $add="")
{
    $url = preg_replace('#&amp;page=[0-9]*#', '', $url) . '&amp;page=';

    $str = '';
    if ($cur_page > 1) {
        $str .= '<a href="'.$url.'1'.$add.'" class="pg_page pg_start">처음</a>'.PHP_EOL;
    }

    $start_page = ( ( (int)( ($cur_page - 1 ) / $write_pages ) ) * $write_pages ) + 1;
    $end_page = $start_page + $write_pages - 1;

    if ($end_page >= $total_page) $end_page = $total_page;

    if ($start_page > 1) $str .= '<a href="'.$url.($start_page-1).$add.'" class="pg_page pg_prev">이전</a>'.PHP_EOL;

    if ($total_page > 1) {
        for ($k=$start_page;$k<=$end_page;$k++) {
            if ($cur_page != $k)
                $str .= '<a href="'.$url.$k.$add.'" class="pg_page">'.$k.'<span class="sound_only">페이지</span></a>'.PHP_EOL;
            else
                $str .= '<span class="sound_only">열린</span><strong class="pg_current">'.$k.'</strong><span class="sound_only">페이지</span>'.PHP_EOL;
        }
    }

    if ($total_page > $end_page) $str .= '<a href="'.$url.($end_page+1).$add.'" class="pg_page pg_next">다음</a>'.PHP_EOL;

    if ($cur_page < $total_page) {
        $str .= '<a href="'.$url.$total_page.$add.'" class="pg_page pg_end">맨끝</a>'.PHP_EOL;
    }

    if ($str)
        return "<nav class=\"pg_wrap\"><span class=\"pg\">{$str}</span></nav>";
    else
        return "";
}



/////////////////////////////////////////////////
이상과 같이 기본꺼 그대로 사용하는데 페이징 호출이 안되고 있습니다.

관리자페이지에서 목록수를 줄이고 늘리며 테스트도 해보고, 카운터조정도 해봤지만 당췌 나오질 않습니다.

get_paging 함수를 아예 불러오지 못하는것 같습니다.
고수님들 좀 도와주십시요~~
|

답변 4개 / 댓글 4개

채택된 답변
+20 포인트
2017-07-11 (화) 21:39:22

$write_pages 위아래로

echo "a";

echo $write_pages;

echo "b";

이런식으로 출력해서 a,b 가 잘나오는지 먼저 보세요

답변에 대한 댓글 3개

네..a와 b는 잘나오는데 역시$write_pages 는 나오지 않네요....ㅜㅜ
2017-07-11 (화) 21:56:36
$write_pages = get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, './board.php?bo_table='.$bo_table.$qstr.'&page=');

요기안에 있는 $config['cf~~~~ 부터 변수 하나하나 에코 찍어보세요~
네..변수하나하나는 잘나옵니다. ~~

관심 감사합니다.

결국 안되어서

https://sir.kr/qa/138483?vpage=1#answer_138489

이쪽 참조하여 write_page 함수 대신에 별도 페이지 만들어서 인클루드 했습니다.휴~~

function get_paging()<--이 함수 내에서 넘어온 변수 만들어지는 $str 변수 등을 출력해보세요

페이지가 2페이지 이상 되어야 나옵니다.

게시물 수가 적어 한페이지에 모두 출력된 상태라면 페이지 번호는 나오지 않습니다.

답변에 대한 댓글 1개

네.... 게시물 2페이지 이상 나오게 테스트도 해보고 관리자모드에서 조절 다 해봤는데..안나오네요.ㅠㅠ

답변을 작성하려면 로그인이 필요합니다.