페이징 넘버, 이전 / 다음 버튼 관련

페이징 넘버, 이전 / 다음 버튼 관련

QA

페이징 넘버, 이전 / 다음 버튼 관련

답변 1

본문


// 한페이지에 보여줄 행, 현재페이지, 총페이지수, URL
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 renew"><span class="renew-noTxt">'.$aslang['pg_start'].'</span></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 renew"><span class="renew-noTxt">'.$aslang['pg_prev'].'</span></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 renew">'.$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 renew">'.$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 renew"><span class="renew-noTxt">'.$aslang['pg_next'].'</span></a>'.PHP_EOL; //다음
 
    if ($cur_page < $total_page) {
        $str .= '<a href="'.$url.$total_page.$add.'" class="pg_page pg_end renew"><span class="renew-noTxt">'.$aslang['pg_end'].'</span></a>'.PHP_EOL; //맨끝
    }
 
    if ($str)
        return "<nav class=\"pg_wrap renew\"><span class=\"pg renew\">{$str}</span></nav>";
    else
        return "";
}

 

/lib/common.lib.php

이 페이지 소스입니다.

 

1 페이지에서 다음 버튼을 클릭하면 11페이지로 이동,

12페이지에서 다음 버튼을 클릭하면 10패이지로 이동이 됩니다.

 

2페이지에서 다음 버튼을 클릭하면 3페이지로

3페이지에서 이전 버튼을 클리갛면 2페이지로

이동하는 이전, 다음 버튼으로 수정하려면 소스를 어떻게 수정을 해줘야할까요?

 

이 질문에 댓글 쓰기 :

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 115
© SIRSOFT
현재 페이지 제일 처음으로