óÀ½À¸·Î Ŭ·¡½º±â¹ÝÀ¸·Î ¸¸µé¾îº» °Ô½ÃÆÇ ÆäÀÌÁö ³×ºñ°ÔÀÌ¼Ç ÀÔ´Ï´Ù. Àú´Â ¹°·Ð »ç¿ëÇØ º¸¾Ò°í ÇöÀç ¹ö±× ¹× ¿À·ù°¡ ¾ø½À´Ï´Ù. »ç¿ë½Ã¿¡ ¹ö±×³ª ¿À·ù ¹ß»ý µÈ´Ù¸é µ¡±Û ´Þ¾ÆÁÖ¼¼¿ë^^ pointer - ·¹ÄÚµå À§Ä¡ ¸®ÅÏ ÇÔ¼ö */ public function getPointer($page) { return $this->pointer = ($page-1) * $this->recordPerPage; } /** * ÆäÀÌÁö ¹øÈ£ »ý¼º ÇÔ¼ö * @param $totalNumOfPage - Àüü ÆäÀÌÁö ¼ö $currentBlock - ÇöÀç ºí·° À§Ä¡°ª $pagePerBlock - ºí·°´ç º¸¿©Áú ¸µÅ© ¼ö $page - ÆäÀÌÁö °ª $searchString - °Ë»ö Äõ¸®½ºÆ®¸µ * @return $this->thePage - ÆäÀÌÁö ³×ºñ°ÔÀÌ¼Ç ³Ñ¹ö */ protected function getPageNumber($totalNumOfPage, $currentBlock, $pagePerBlock, $page, $searchString) { $this->startPage = ($currentBlock - 1) * $pagePerBlock + 1; //½ÃÀÛÆäÀÌÁö $this->endPage = min($totalNumOfPage, $currentBlock * $pagePerBlock); // ¸¶Áö¸· ÆäÀÌÁö if($currentBlock == 1) { $this->isNext = false; $this->isPrev = false; } if($this->endPage < $totalNumOfPage) { $this->isNext= true;} //´ÙÀ½ ºí·° Çã¿ë if($currentBlock > 1) { $this->isPrev = true; } //ÀÌÀü ºí·° Çã¿ë // ÀÌÀü ºí·° À̵¿ üũ if($this->isPrev) { $this->goPrevPage = $this->startPage - $this->pagePerBlock(); $this->thePage = "_PHP_SELF."?page=".$this->goPrevPage."&".$searchString."\"> "; } else { $this->thePage = " "; } for($p=$this->startPage;$p<=$this->endPage;$p++) { if($p!=$page) { $this->thePage .= " $p "; } else { $this->thePage .= " $p "; } } // ´ÙÀ½ ºí·° À̵¿ üũ if($this->isNext) { $this->goNextPage = $this->startPage + $pagePerBlock; $this->thePage .= "_PHP_SELF."?page=".$this->goNextPage."&".$searchString."\"> "; } else { $this->thePage .= " "; } return $this->thePage; } /** * ÆäÀÌÁö ¹øÈ£ »ý¼ºÀ» À§ÇÑ °è»ê½Ä * @param $total - Àüü ÆäÀÌÁö ¼ö $page - ÆÄ¶ó¹ÌÅÍ·Î ³Ñ¾î¿Â ÆäÀÌÁö °ª $searchString - °Ë»ö Äõ¸®½ºÆ®¸µ * @return $this->getPageNumber ÇÔ¼ö¸¦ ¸®ÅÏ ÇÕ´Ï´Ù. */ public function BoundSet($total, $page, $searchString='') { $this->totalRecord = $total; //Àüü ÆäÀÌÁö ¼ö //Àüü ÆäÀÌÁö ¼ö, Àüü ºí·° ¼ö ¾ò´Â´Ù. $this->totalNumOfPage = ceil($this->totalRecord / $this->recordPerPage); $this->totalNumOfBlock = ceil($this->totalNumOfPage / $this->pagePerBlock); //ÇöÀç ºí·° À§Ä¡ °ª È®ÀÎ $this->currentBlock = ceil($page / $this->pagePerBlock); $this->pointer = $this->getPointer($page); //·¹ÄÚµå Æ÷ÀÎÅÍ À§Ä¡ °ª °¡Á®¿À±â. $this->number = $this->totalRecord - $this->pointer; //À妽º ¹øÈ£ ## ÆäÀÌÁö ³×ºñ°ÔÀÌ¼Ç ·Îµå ## Parameter Comment: Àüü ÆäÀÌÁö ¼ö, ÇöÀç ºí·° À§Ä¡°ª, ºí·°´ç º¸¿©Áú ¸µÅ© ¼ö, ÆäÀÌÁö °ª, °Ë»ö Äõ¸®½ºÆ®¸µ return $this->getPageNumber($this->totalNumOfPage, $this->currentBlock, $this->pagePerBlock, $page, $searchString); } } //»ç¿ë¹æ¹ý $page = $_REQUEST['page']; if(!$page) { $page = 1; } //ÆäÀÌÁö¸¦ È®ÀÎÇÕ´Ï´Ù. $paging = new paging; //Ŭ·¡½º »ý¼º $paging->recordPerPage = 10; //ÆäÀÌÁö´ç º¸¿©Áú ·¹ÄÚµå ¼ö ÁöÁ¤ $paging->pagePerBlock = 10; //ÇÑ ºí·°´ç º¸¿©Áú ¸µÅ© ¼ö ÁöÁ¤ $paging->getPointer($page); //º»¹® ·¹Äڵ带 °¡Á®¿Ã ·¹ÄÚµå Æ÷ÀÎÅ͸¦ ¸®ÅÏ /* º»¹® list °¡Á®¿Ã ½Ã sql ÀÛ¼º¹ý select * from bbs limit $paging->getPointer($page), ÆäÀÌÁö´ç º¸¿©Áú ·¹ÄÚµå ¼ö */ /** * °Ô½ÃÆÇ ÆäÀÌÁö ³×ºñ°ÔÀ̼ÇÀ» °¡Á®¿É´Ï´Ù. * @param $total - °Ë»öµÇ¾îÁø Àüü ·¹ÄÚµå ¼ö $page - ÆÄ¶ó¹ÌÅÍ·Î ³Ñ¾î¿Â page °ª $search - °Ë»ö Äõ¸®½ºÆ®¸µ */ $total = 199; echo $paging->BoundSet($total, $page, $search); ?>