[PHP] 페이징 함수

[PHP] 페이징 함수

상당히 오래전에 만든것인데 블로그에 그냥 기록을 해놓고 나중에 필요하면은 사용할 생각입니다.
참조정도로만 사용할 수 있지 않을까 싶습니다.

<?php
/***************************
 * @write_pages : 한페이지에 보여줄 행
 * @cur_page : 현재 페이지
 * @total_page : 총 페이지
 * @url : URL
 * @add : ???
 * 2011.03.14 
**************************/
function get_paging($write_pages, $cur_page, $total_page, $url, $add="")
{
       $str = "";
       $str .= "<a href='".$url."1".$add."'>처음</a>&nbsp;";
 
       // 현재 페이지로부터 앞에 몇개가 보여질지 정함
       $start_page = (int) $cur_page - 6;
 
       // 페이징 목록 숫자를 정함
       if($total_page < $write_pages) 
       {
           $write_pages = $total_page;
       }
 
       //  페이징 시작이 0보다 작다면은 0으로 시작 하도록 함
       if($start_page < 0) 
       {
              for($i=0; $i < $write_pages; $i++)
              {
                     $k = $i + 1;
                     if ($cur_page != $k) 
                     {
                            $str .= "<a href='".$url.$k.$add."'><span>".$k."</span></a>";
                     } else {
                            $str .= "<strong>".$k."</strong>";
                     }
              }
       } else {
              // 페이징 목록 숫자를 정함
              $end_page = $start_page + $write_pages;
 
              // 최종페이지가 총 페이지 숫자를 넘어설 경우 총 페이지 값으로 전환
              if($end_page > $total_page) 
              {
                     $end_page = $total_page;
              }
               
              for($i=$start_page; $i < $end_page; $i++)
              {
                     $k = $i + 1;
                     if ($cur_page != $k) 
                     {
                            $str .= "<a href='".$url.$k.$add."'><span>".$k."</span></a>";
                     } else {
                            $str .= "<strong>".$k."</strong>";
                     }
              }
       }
 
       $str .= " &nbsp;<a href='".$url.$total_page.$add."'>맨끝</a>";
       return $str;
}
?>