웹마스터 팁

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




제목 글쓴이 날짜
인증메일 안가는 문제- 완전 간단 해결 꿈섬 2014.07.27
짧은 주소를 가능 하게 하는 서버(아파치, httpd) 설정 [3] 꿈섬 2014.07.27
사이트 디자인 설정에서 레이아웃 저장이 안될시 고치는 방법 [1] LoteM대한천자 2014.07.28
MySQL Replication 사용중 Binary Log 삭제 하기 박희망찬삶 2014.07.29
Bind 설정하기 뚱녀파파 2014.07.30
자주 쓰지 않지만, 알아두면 좋은 명령어들.. SIN 2014.08.06
비밀번호 변경시 비밀번호 재입력 생략하기 Summer 2014.08.06
특정 도메인 가입 않되게 (인증메일 관련) 컴박살 2014.08.06
XE 설치 시 안전한 폴더권한 설정하기 (chown 사용) 컴토피아 2014.08.07
코어 수정하지 않고 게시물 첨부 파일 사용제한 Happyphp 2014.08.07
UX를 편리하게 하기 위한 7 CSS 팁 gamgak2895 2014.08.07
첨부파일 제한 등을 1M 이하인 K 단위로 제한할 수 있게 설정 [1] sejin7940 2014.08.07
룰셋을 폼 필터처럼 Ajax로 사용하기 Lansi 2014.08.08
카카오톡으로 보내기(깔끔한 뷰) [4] seyriz 2014.08.11
F12개발자도구를 열었을때 IE버젼이 낮게 나온다면 pezex 2014.08.11
한글지원하는 글자수 자르기 함수 [3] pezex 2014.08.11
관리자설정-> 관리자 메뉴설정 에서 삭제가 안 되는 현상 수정하는 방법 [1] sejin7940 2014.08.11
외부 페이지 작업시 페이징 작업 함수 Happyphp 2014.08.12
메뉴에 새 글 표시 모듈 사용 시 new 아이콘이 보이지 않는 버그 수정 [8] 퍼니엑스이 2014.08.12
게시판의 관리자가 최고관리자의 글을 지울 수 없도록 하기 [1] file BJ람보 2014.08.18