get_paging 페이징함수 1페이지 일때 page변수 사용하지 않게 변경 > 자료실

자료실

자료실

get_paging 페이징함수 1페이지 일때 page변수 사용하지 않게 변경

페이지 정보

profile_image
작성자 최고관리자
댓글 0 조회 321회 작성일 23-03-06 14:30
작성일 23-03-06 14:30

본문

// 한페이지에 보여줄 행, 현재페이지, 총페이지수, URL

function get_paging($write_pages, $cur_page, $total_page, $url, $add="") {

	global $g5, $config, $default, $member, $is_admin, $is_member, $_cma_office_intranet_admin, $_SESSION, $_COOKIE, $_SERVER, $_REQUEST, $_POST, $_GET, $_FILES;

	global $cma_common_config, $_list_mode, $_common_menu_str_path;


	// 언어별 배너파일명 설정

	if($g5['cma_lang_site_use'] == 'y') :// 다국어 사이트 사용 시(y,n)

		if($g5['lang'] != 'kr') :  // 한국어가 아닐때

			return get_cma_lang_get_paging($write_pages, $cur_page, $total_page, $url, $add); // 한페이지에 보여줄 행, 현재페이지, 총페이지수, URL : get_paging(()

		endif;

	endif;


	$add = trim($add);


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

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

	$url .= substr($url, -1) === '?' ? 'page=' : '&page=';


	$_1_page_url = preg_replace('#(&)?page=[0-9]*#', '', $url); // 1페이지 링크시 

	if(!$add) :

		if( substr($_1_page_url, -1) == '?') : // 마지막 문자열이 ? 일때

			$_1_page_url = substr($_1_page_url, 0, -1); // 제일 마지막 문자열 제거

		endif;

	endif;


	//echo $url.'<br />';

	// echo $_1_page_url;


	$str = '';

	if ($cur_page > 1) :

		$str .= '<a href="'.$_1_page_url.$add.'" class="pg_page pg_start">처음</a>'.PHP_EOL;

	endif;


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

	endif;


	if ($start_page > 1) :

		$_prev_page = ($start_page-1);

		$_url_page = ($_prev_page == 1) ? $_1_page_url : $url.$_prev_page; // 1page이 경우 page를 사용하지 않음

		$str .= '		<a href="'.$_url_page.$add.'" class="pg_page pg_prev">이전</a>'.PHP_EOL;

	endif;


	if ($total_page > 1) :

		for ($k=$start_page;$k<=$end_page;$k++) :

			$_url_page = ($k == 1) ? $_1_page_url : $url.$k; // 1page이 경우 page를 사용하지 않음

			if ($cur_page != $k) :

				$str .= '		<a href="'.$_url_page.$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;

			endif;

		endfor;

	endif;


	if ($total_page > $end_page) :

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

	endif;


	if ($cur_page < $total_page) :

		$str .= '		<a href="'.$url.$total_page.$add.'" class="pg_page pg_end">맨끝</a>'.PHP_EOL;

	endif;


	$view_tag = '<nav class="pg_wrap">'.PHP_EOL;

	$view_tag .= '	<span class="pg">'.PHP_EOL;

	$view_tag .= $str;

	$view_tag .= '	</span>'.PHP_EOL;

	$view_tag .= '</nav>'.PHP_EOL;


	if ($str) :

	   return $view_tag;

	else :

		return '';

	endif;


}


추천 0 비추천 0

  • 회사 :
  • 대표 :
  • 주소 :
  • 메일 : admin@mysample.com
  • 사업자 등록번호 :
Copyright © cginjs.com All rights reserved.
notice