웹마스터 팁

<?php

        // 간단 구현 페이징

        function page_nav($total,$scale,$p_num,$page,$query)
        {
                global $PHP_SELF;

                $total_page = ceil($total/$scale);
                if (!$page) $page = 1;
                $page_list = ceil($page/$p_num)-1;
                
                // 페이지 리스트의 첫번째가 아닌 경우엔 [1]...[prev] 버튼을 생성한다.
               if ($page_list>0) 
    $navigation = "<a href='$PHP_SELF?page=1&$query'>[1]</a> ... "; 

$prev_page = ($page_list)*$p_num; 
$navigation .= "<a href='$PHP_SELF?page=$prev_page&$query'>[prev]</a>"; 
}

                // 페이지 목록 가운데 부분 출력
                $page_end=($page_list+1)*$p_num;
                if ($page_end>$total_page) $page_end=$total_page;

                for ($setpage=$page_list*$p_num+1;$setpage<=$page_end;$setpage++)
                {
                        if ($setpage==$page) {
                                $navigation .= "<b>[$setpage]</b>";
                        } else {
                                $navigation .= "<a href='$PHP_SELF?page=$setpage&$query'>[$setpage]</a> ";
                        }
                }

                // 페이지 목록 맨 끝이 $total_page 보다 작을 경우에만, [next]...[$total_page] 버튼을 생성한다.
                if ($page_end<$total_page) 
                {
                        $next_page = ($page_list+1)*$p_num+1;
                        $navigation .= "<a href='$PHP_SELF?page=$next_page&$query'>[next]</a> ";
                        $navigation .= "... <a href='$PHP_SELF?page=$total_page&$query'>[$total_page]</a>";
                }
        
                return $navigation;
        }
?>

적용하실때는 
 <div id="paging" >
<?php
include "page.php";
        $total_data=총 데이터수;
       $num_per_page=페이지당 목록수;
        $page_per_list=페이징 단위;
        $query="mid=".$mid;

        $nav=page_nav($total_data,$num_per_page,$page_per_list,$page,$query);

        echo $nav;
        echo ("<form action=$PHP_SELF>
        <input name=mid type=hidden value='".$mid."'>
                        페이지 : <input type=text name=page size=4>
                        <input type=submit value='이동'></form>
        ");
?>
함수 입니다. 게시판이 아니고 모듈이나 기타 프로그램을 만들때 사용하시면 됩니다.
페이지넘김 같은 경우 함수를 만들어서 사용하시는게 편하다는 생각입니다.




제목 글쓴이 날짜
''웹진형태의 최근문서 출력''위젯에서 썸네일 생성이 되지 않을때 [2] 아시안느 2008.05.20
버튼 글씨체 바꾸기.... [2] winter548 2008.05.20
글 쓸 때 자동으로 비밀 글 체크하기(''비고수''님의 팁) [1] 띵야 2008.05.20
보안로그인 사용시 기본포트가 아닐 경우 [2] bluemind69 2008.05.20
회원 관리 리스트에 생일/이메일 추가하기 [4] file 老姜君 2008.05.19
텔넷으로 순간 압축풀기/폴더 삭제/폴더파일 압축하기... [5] Crazyhouse.cn 2008.05.19
본문과 댓글 입력의 기본 폰트. 크기 한번에 변경하기... [3] winter548 2008.05.19
홈페이지에 닉네임 대신 실명으로 뜨게 만들기 [5] file findwind 2008.05.19
1.0.3 오토링크(autolink) 디자인 수정본 [6] file 위드파트너 2008.05.18
게시물목록의 조회수 등의 글씨(폰트), 폰트 크기, 색깔 변경 [1] winter548 2008.05.17
New 등의 아이콘 변경하기... [3] file winter548 2008.05.17
게시판→설정→스킨관리→글제목 표시 유무 넣기 [2] 탑심 2008.05.15
오른쪽 상단에 로그인 정보 출력하기 (게시판 만으로) file youngminpark 2008.05.15
일반 html이나 php파일에 모듈을 추가했을시 나타나는 문제점. (최근게시물 모듈. 링크 타겟 지정). [8] 장민수 2008.05.11
아고라 서명운동 전용 웹카운터 [2] 살색마수 2008.05.10
rewrite mod 사용시 404 페이지 에러 해결 방법 이종준 2008.05.09
확장변수(textarea)에 html태그 적용 [6] 오엘 2008.05.08
회원 확장 정보를 레이아웃에서 활용하기 [6] [1] file mooo 2008.05.06
리플이나 서명에서 특정 태그 막기 [4] 老姜君 2008.05.05
주문형게시판 만들기 [22] file 팔공산 2008.05.04