답변 1개
채택된 답변
+20 포인트
5년 전
function get_paging_bt4($write_pages, $cur_page, $total_page, $url, $add="")
{
//$url = preg_replace('#&page=[0-9]*(&page=)$#', '$1', $url);
$url = preg_replace('#(&)?page=[0-9]*#', '', $url);
$url .= substr($url, -1) === '?' ? 'page=' : '&page=';
$str = '';
if ($cur_page > 1) {
$str .= '<li class="page-item"><a href="'.$url.'1'.$add.'" class="page-link">처음</a></li>'.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 .= '<li class="page-item"><a href="'.$url.($start_page-1).$add.'" class="page-link">이전</a></li>'.PHP_EOL;
if ($total_page > 1) {
for ($k=$start_page;$k<=$end_page;$k++) {
if ($cur_page != $k)
$str .= '<li class="page-item"><a href="'.$url.$k.$add.'" class="page-link">'.$k.'<span class="sound_only">페이지</span></a></li>'.PHP_EOL;
else
$str .= '<li class="page-item active"><a href="javascript:;" class="page-link">'.$k.'<span class="sound_only">페이지</span></a></li>'.PHP_EOL;
}
}
if ($total_page > $end_page) $str .= '<li class="page-item"><a href="'.$url.($end_page+1).$add.'" class="page-link">다음</a></li>'.PHP_EOL;
if ($cur_page < $total_page) {
$str .= '<li class="page-item"><a href="'.$url.$total_page.$add.'" class="page-link">맨끝</a></li>'.PHP_EOL;
}
if ($str)
return "<nav><ul class=\"pagination d-flex flex-wrap justify-content-start\">{$str}</ul></nav>";
else
return "";
}
get_paging함수 대신 위 함수를 써보세요
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인