검색 조건 후 페이징 오류

5년 전 조회 2,641

Copy
function get_paging($write_pages, $cur_page, $total_page, $url, $add="")
{
    global $aslang;

    //$url = preg_replace('#&page=[0-9]*(&page=)$#', '$1', $url);
    $url = preg_replace('#&page=[0-9]*#', '', $url) . '&page=';

    $str = '';
    if ($cur_page > 1) {
        $str .= '<a href="'.$url.'1'.$add.'" class="pg_page pg_start">'.$aslang['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">'.$aslang['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">'.$aslang['pg_page'].'</span></a>'.PHP_EOL; //페이지
            else
                $str .= '<span class="sound_only">'.$aslang['pg_now'].'</span><strong class="pg_current">'.$k.'</strong><span class="sound_only">'.$aslang['pg_page'].'</span>'.PHP_EOL; //현재 페이지
        }
    }

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

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

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

검색 전 게시판에서는 페이징이 정상작동하는데 조건 검색 이후 페이징에서 2페이지 이상클릭했을대 전체검색이되네요..... 어떤 부분이 문제일까요

답변 1개

get_paging 을 호출할때 $add 변수에

 

검색조건이 추가된내용을 같이 붙여서 호출하세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다!

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

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

로그인
🐛 버그신고