* @version 1.0
*/
class YsPaging {
/* ÆĶó¸ÞŸ¿ë º¯¼ö */
var $mCurPageNum; //ÇöÁ¦ ÆäÀÌÁö ¹øÈ£
var $mPageVar; //ÆäÀÌÁö¿¡ »ç¿ëµÇ´Â º¯¼ö¸í
var $mExtraVar; //Ãß°¡ º¯¼ö
var $mTotalItem; //±Û°¹¼ö
var $mPerPage; //Ãâ·Â ÆäÀÌÁö¼ö
var $mPerItem; //Ãâ·Â ±Û ¼ö
var $mPrevPage; //[ÀÌÀü ÆäÀÌÁö] text ¶Ç´Â img tag
var $mNextPage; //[´ÙÀ½ ÆäÀÌÁö] text ¶Ç´Â img tag
var $mPrevPerPage; //[ÀÌÀü $mPerPage ÆäÀÌÁö] text ¶Ç´Â img tag
var $mNextPerPage; //[´ÙÀ½ $mPerPage ÆäÀÌÁö] text ¶Ç´Â img tag
var $mFirstPage; //[óÀ½] ÆäÀÌÁö text ¶Ç´Â img tag
var $mLastPage; //[¸¶Áö¸·] ÆäÀÌÁö text ¶Ç´Â img tag
var $mPageCss; //ÆäÀÌÁö ¸ñ·Ï¿¡ »ç¿ëÇÒ css
var $mCurPageCss; //ÇöÀç ÆäÀÌÁö¿¡ »ç¿ëÇÒ css
/* ³»ºÎ»ç¿ë º¯¼ö */
var $mPageCount; //Àüü ÆäÀÌÁö¼ö
var $mTotalBlock; //Àüü ºí·°¼ö
var $mBlock; //ÇöÀç ºí·°¼ö
var $mFirstPerPage; //ÇÑºí·°ÀÇ Ã¹ ÆäÀÌÁö¹øÈ£
var $mLastPerPage; //ÇÑºí·°ÀÇ ¸¶Áö¸· ÆäÀÌÁö ¹øÈ£
/**
* »ý¼ºÀÚ - ¿Â¼ÇÀ» ¼ºÁ¤ÇÏ°í ±âº»ÀûÀÎ ÆäÀÌÁö,ºí·°¼ö µîÀ» °è»ê
* @param array $params
*/
function YsPaging($params) {
if(!count($params)) {
echo "[YsPaging Error : ÆĶó¸ÞÅÍ°¡ ¾ø½À´Ï´Ù.]";
return;
}
$this->mCurPageNum = $params['curPageNum'] ? $params['curPageNum'] : 1;
$this->mPageVar = $params['pageVar'] ? $params['pageVar'] : 'pagenum';
$this->mExtraVar = $params['extraVar'] ? $params['extraVar'] : '';
$this->mTotalItem = $params['totalItem'] ? $params['totalItem'] : 0;
$this->mPerPage = $params['perPage'] ? $params['perPage'] : 10;
$this->mPerItem = $params['perItem'] ? $params['perItem'] : 15;
$this->mPrevPage = $params['prevPage'] ? $params['prevPage'] : 'ÀÌÀü';
$this->mNextPage = $params['nextPage'] ? $params['nextPage'] : '´ÙÀ½';
$this->mPrevPerPage = $params['prevPerPage'];
$this->mNextPerPage = $params['nextPerPage'];
$this->mFirstPage = $params['firstPage'];
$this->mLastPage = $params['lastPage'];
$this->mPageCss = $params['pageCss'];
$this->mCurPageCss = $params['curPageCss'];
$this->mPageCount = ceil($this->mTotalItem/$this->mPerItem);
$this->mTotalBlock = ceil($this->mPageCount/$this->mPerPage);
$this->mBlock = ceil($this->mCurPageNum/$this->mPerPage);
$this->mFirstPerPage = ($this->mBlock-1)*$this->mPerPage;
$this->mLastPerPage = $this->mTotalBlock<=$this->mBlock ? $this->mPageCount : $this->mBlock*$this->mPerPage;
}
/**
* ÇöÀç ±Û¹øÈ£¸¦ ¸®ÅÏ
* @return integer
*/
function getItemNum() {
return $this->mTotalItem-($this->mCurPageNum-1)*$this->mPerItem; // ÇöÀç ¾ÆÀÌÅÛ ¹øÈ£ °è»ê
}
/**
* ùÆäÀÌÁö ¹øÈ£ ¸µÅ©¸¦ ¸®ÅÏ
* @return string
*/
function getFirstPage() {
if(empty($this->mFirstPage) || $this->mCurPageNum == 1) return NULL;
return ''.$this->mFirstPage.'';
}
/**
* ³¡ÆäÀÌÁö ¹øÈ£ ¸µÅ©¸¦ ¸®ÅÏ
* @return string
*/
function getLastPage() {
if(empty($this->mLastPage) || $this->mCurPageNum == $this->mPageCount) return NULL;
return ''.$this->mLastPage.'';
}
/**
* ÀÌÀüºí·° ¸µÅ©¸¦ ¸®ÅÏ
* @return string
*/
function getPrevPerPage() {
if(empty($this->mPrevPerPage) || $this->mBlock <= 1) return NULL;
return ''.$this->mPrevPerPage.'';
}
/**
* ´ÙÀ½ºí·° ¸µÅ©¸¦ ¸®ÅÏ
* @return string
*/
function getNextPerPage() {
if(empty($this->mNextPerPage) || $this->mBlock >= $this->mTotalBlock) return NULL;
return ''.$this->mNextPerPage.'';
}
/**
* ÀÌÀü ÆäÀÌÁö ¸µÅ©¸¦ ¸®ÅÏ
* @return string
*/
function getPrevPage() {
if($this->mCurPageNum > 1)
return ''.$this->mPrevPage.'';
else
return $this->mPrevPage;
}
/**
* ´ÙÀ½ ÆäÀÌÁö ¸µÅ©¸¦ ¸®ÅÏ
* @return string
*/
function getNextPage() {
if($this->mCurPageNum != $this->mPageCount && $this->mPageCount)
return ''.$this->mNextPage.'';
else
return $this->mNextPage;
}
/**
* ÆäÀÌÁö ¸ñ·Ï ¸µÅ©¸¦ ¸®ÅÏ
* @return string
*/
function getPageList() {
$rtn = '';
for($i=$this->mFirstPerPage+1;$i<=$this->mLastPerPage;$i++) {
if($this->mCurPageNum == $i)
if(empty($this->mCurPageCss))
$rtn .= $i;
else
$rtn .= ' '.$i.' ';
else {
$rtn .= ' ';
if(empty($this->mPageCss))
$rtn .= $i.' ';
else
$rtn .= ''.$i.' ';
}
}
return $rtn;
}
/**
* ±âº» ÆäÀÌÁö¸¦ ÇÁ¸°Æ®, »ó¼ÓÈÄ º¯°æ °¡´É
*/
function printPaging() {
echo $this->getFirstPage();
echo ' ';
echo $this->getPrevPerPage();
echo ' ';
echo $this->getPrevPage();
echo ' ';
echo $this->getPageList();
echo ' ';
echo $this->getNextPage();
echo ' ';
echo $this->getNextPerPage();
echo ' ';
echo $this->getLastPage();
}
}
//$paging = new YsPaging($params);
?>