// 에드센스
반응형

/* css 속성 */

<style>

/* 페이징 */

.paging{margin-left: -1px; margin-top: 15px; text-align: center;}

.paging a{border: 1px solid #BBBBBB; padding:0 5px; min-width: 14px; height: 16px;line-height: 16px; display: inline-block; text-align: center; margin-left: 1px; color:black; font-size: 11px; text-decoration: none;}

.paging a.over{background: #636363; border-color: #636363; color:white;}

.paging a.first_page, .paging a.last_page{padding: 0 10px;}

</style>

 

 /* 서버 페이징 리스트 페이지에 서 호출 */

 // 총계, 페이지수, 레코드수

if (!$limit) $limit= 10;

if (!$curp) $curp = 1;


$row = $dbConn->sql_fetch("select count(oi_idx) from $table_name $where");

$total_record = $row[0];


if( $total_record > 0 ) $total_pages = ceil($total_record/$limit);

else $total_pages = 1;


if ($curp > $total_pages) $curp=$total_pages;

$start = $limit*$curp-$limit; // do not put $limit*($page - 1)

if($start < 0) $start = 1;

 

 

 

 /* common.php등으로 빠질 함수 */

/*  총레코드, 현재페이지, 제한 레코드 수, 페이징 블럭 수 */

function paging($total_record=1, $current_page=1, $record_num=10, $page_block=10 ){

/* 예외사항 */

if( !$current_page || $current_page < 1 ) $current_page = 1;

if( !$record_num || $record_num < 1 ) $record_num = 10;

if( !$page_block || $page_block < 1 ) $page_block = 10;


/* 총페이지 수 구하기 */

$total_page = ceil($total_record/$record_num);

if( $total_page <= 0 ) $total_page = 1;


/* query String을 그대로 연결해주기 위해서 변수에 담음 */

foreach($_GET as $col => $val){

if( $col != 'curp' && $col != 'limit' && $val != '' ){

$queryString[] = $col.'='.$val;

}

}

$queryString[] = 'limit='.$record_num;

$queryString = implode('&', $queryString);


/* 페이징 블럭 시작, 끝 수 구하기 */

$start_page_block = (ceil(($current_page/$page_block)-1)*$page_block)+1; //시작 블럭(페이징)

$end_page_block = $start_page_block+$page_block; // 마지막블럭(페이징)


/* 이전 버튼 주소 */

$prev_addr = $start_page_block-1;

if( $prev_addr <= 0 ) $prev_addr = 1;


/* 페이징 html 작성 */

$paging.= "<div class='paging'>";

$paging.= "<a href='".$_SERVER[PHP_SELF]."?curp=1&$queryString' class='first_page'><<</a>"; // 처음으로 버튼

$paging.= "<a href='".$_SERVER[PHP_SELF]."?curp=".$prev_addr."&$queryString' class='prev_page'><</a>"; // 이전 버튼

for($i= $start_page_block; $i< $end_page_block; $i++){

/* 총계를 넘어가면 블럭페이징 멈춤 */

if( $i > $total_page ) break;


/* 페이징 오버 여부 */

$class = '';

if( $current_page == $i ) $class = 'class = "over"';

$paging.= "<a href='".$_SERVER[PHP_SELF]."?curp=$i&$queryString' $class>".$i."</a>";

}


/* 다음 버튼 주소가 총계를 넘어간다면 총계가 주소 가 됨. */

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


/* 다음, 마지막 버튼 */

$paging.= "<a href='".$_SERVER[PHP_SELF]."?curp=".($end_page_block)."&$queryString' class='next_page'>></a>";

$paging.= "<a href='".$_SERVER[PHP_SELF]."?curp=".($total_page)."&$queryString' class='last_page'>>></a>";


/* 페이지 개수별 보기 */

$paging.="

<script>

$(function(){

$('#pageSelect').change(function(){

location.href = '".$_SERVER[PHP_SELF]."?curp=1&limit='+$(this).val();

}).val('$_GET[limit]');

});

</script>

<select id='pageSelect' style='position: absolute; right: 0;'>

<option value='10'>10개씩 보기</option>

<option value='20'>20개씩 보기</option>

<option value='30'>30개씩 보기</option>

<option value='40'>40개씩 보기</option>

<option value='50'>50개씩 보기</option>

<option value='60'>60개씩 보기</option>

<option value='70'>70개씩 보기</option>

<option value='80'>80개씩 보기</option>

<option value='90'>90개씩 보기</option>

<option value='100'>100개씩 보기</option>

<option value='200'>200개씩 보기</option>

<option value='300'>300개씩 보기</option>

<option value='400'>400개씩 보기</option>

<option value='500'>500개씩 보기</option>

</select>

";

$paging.="</div>";


echo $paging;

}

 



g


반응형

'프로그램 > PHP' 카테고리의 다른 글

디비연동이 필요한 셀렉트박스 함수로 지정  (0) 2014.12.01
코드이그나이터 index.php 삭제  (0) 2014.12.01
phpexcel 예제  (0) 2014.12.01
excel 파일 읽기  (0) 2014.12.01
파일 다운로드 예제  (0) 2014.12.01

+ Recent posts