웹마스터 팁

<?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>
        ");
?>
함수 입니다. 게시판이 아니고 모듈이나 기타 프로그램을 만들때 사용하시면 됩니다.
페이지넘김 같은 경우 함수를 만들어서 사용하시는게 편하다는 생각입니다.




제목 글쓴이 날짜
XE를 앱으로, 티타늄 및 폰갭(Cordova) 사용기 [1] AJKJ 2014.08.28
익명게시판에서 관리자가 글 수정시 글의 권한이 넘어가지 않도록 하기. [5] 소시덕분에힘받아요 2014.06.11
홈페이지 제작 시, 개인정보관련/회원가입약관 처리에 대해서 [1] 양파F 2014.08.23
관리자 게시판 목록에서 브라우저 제목 클릭시 새창으로 뜨도록 수정 [2] sejin7940 2014.08.26
관리자페이지의 '서버정보출력'에 '절대경로' 가 출력되게 하는 방법 [3] sejin7940 2014.08.26
XE 알림센터 Lite 사용시에 쪽지나 호출에 대해서만 알림음을 적용하기 [17] SeungXE 2014.07.06
사용자 정의를 활용하여 폼 형식으로 개발하는 무식한 방법(2) [5] Reminisce 2014.08.22
사용자 정의를 활용하여 폼 형식으로 개발하는 무식한 방법(1) [6] Reminisce 2014.08.22
CafeXE (homepage 모듈) 메뉴노출 권한오류 수정안. Xiso 2014.08.22
사이트 디자인 설정에서 레이아웃 저장이 안될시 고치는 방법 [1] LoteM대한천자 2014.07.28
스케치북 게시판 메뉴얼 [1] socialskyo 2014.08.21
jquery 이미지 이펙트 플러그인 Ansi™ 2014.08.19
게시판의 관리자가 최고관리자의 글을 지울 수 없도록 하기 [1] file BJ람보 2014.08.18
이거 어디다 올려야 될 지 몰라 여기다 올립니다. 프로그래머님들 읽어보세요. [2] 유샤인 2014.06.10
외부 페이지 작업시 페이징 작업 함수 Happyphp 2014.08.12
관리자설정-> 관리자 메뉴설정 에서 삭제가 안 되는 현상 수정하는 방법 [1] sejin7940 2014.08.11
F12개발자도구를 열었을때 IE버젼이 낮게 나온다면 pezex 2014.08.11
글읽기 권한 없을때 회원가입창으로 유도하는 방법 (XE1.5수정) [10] sejin7940 2011.08.23
룰셋을 폼 필터처럼 Ajax로 사용하기 Lansi 2014.08.08
xe module, sample 생성기 [9] 천재ㅐ재 2014.07.24