[php] 페이지 나누기 소스

페이지 나누기 소스

<?

// # 전체 페이지 구하기 #

function page() {

        Global $tlpn,$perpage;

        if($tlpn[num] % $perpage) {

                $tlpn[page]= intval($tlpn[num] / $perpage) + 1;

        } else {

                $tlpn[page]= $tlpn[num] / $perpage;

        }

        return $tlpn;

}

//####### 마지막 페이지출력되는 레코드 수

function lastpagelist() {

        Global $tlpn,$perpage,$page;

        if(($tlpn[page] > $page) && ($page > 1)) {

                $tlpn[lastlist] = $perpage;

        } elseif ($tlpn[page] == $page) { // 맨 마지막 페이지라면..

                if ($tlpn[num] % $perpage) {

                        $tlpn[lastlist] = $tlpn[num] % $perpage;

                } else {

                        $tlpn[lastlist] = $perpage;

                }

        } elseif ($page == “1”) { // 첫 페이지라면..

                $tlpn[lastlist] = $perpage;

        } else {

                echo “잘못된 페이지”;

                exit;

        }

        return $tlpn;

}

//##############################################################

############### 페이지 시작행과 마지막 행 구하기

function start_last_num() {

        Global $page,$perpage,$tlpn;

        $tlpn[start] = (($page * $perpage) – $perpage);

        if ($tlpn[page] <= 1) {

                $tlpn[last] = $tlpn[num];

        } elseif ($tlpn[page]==$page){

                if($tlpn[num] % $perpage) {

                        $tlpn[last] = $tlpn[num] % $perpage;

                } else{

                        $tlpn[last] = $perpage;

                }

        } else {

                $tlpn[last] = $perpage;

        }

        

/*        

        if ($page==”1″) {

                $tlpn[last] = $tlpn[lastlist];

        } elseif ($tlpn[page]==$page){

                $tlpn[last] = $tlpn[start] + $tlpn[lastlist];

        } else {

                $tlpn[last] = $tlpn[start] + $tlpn[lastlist];

        }

*/

        return $tlpn;

}

//########################################################### 페

이지 이동

function move_page($target,$aling,$str) {

        // $target : 타겟 설정 (예 _self,_top,_blank …..)

        // $aling : 정렬 방식 (예 center,left,right …)

        // $str : 해당 파라미터 (배열 방식)

        Global $filename,$page,$tlpn,$table,$vj;

        if($str) {

                while(list($key,$val) = each($str)) {

                        if($val) { $url .= “&$key=$val”; }

                }

        }

        $scale = 15; // 한페이지에 출력되는 페이지 수

        if(!$vj) {

                $vj = 1;

        }

        $p_vj = $vj – 1;

        $n_vj = $vj + 1;

        if($tlpn[page]==1) {

                $pres = 1;

                $nexs = 1;

        } elseif($tlpn[page] < $scale) {

                $pres = 1;

                $nexs = $tlpn[page];

        } elseif($tlpn[page] < ($scale*$vj)) {

                $pres = $scale * ($vj-1) + 1;

                $nexs = $tlpn[page];

                $nexspage = $nexs + 1;

        } else {

                $pres = $scale * ($vj-1) + 1;

                $nexs = $scale * $vj;

                $nexspage = $nexs + 1;

        }

        if ($page == 1) { // 맨 처음 페이지

                echo”<p align=\\”$aling\\”><font color=\\”black\\”>이전

</font>”;

        } else {

                echo”<p align=\\”$aling\\”><a href=\\”$filename?

page=$pres&vj=$p_vj&table=$table$url\\” target=$target><font color=\\”black\\”>이

전 </font> </a>”;

        } // 맨 처음 페이지 끝

/*

echo”<– vj : $vj –><br>”;

echo”<– topnear : $topnear –><br>”;

echo”<– lasnear : $lastnear –><br>”;

echo”<– pres : $pres –><br>”;

echo”<– nexs : $nexs –><br>”;

echo”<– tlpn[page] : $tlpn[page] –><br>”;

echo”<– page : $page –><br>”;

*/

// 이동할 페이지의 가장 처음이 1 페이지보다 클 경우 생략 기호 출력

        for($i=$pres; $i <= $nexs; $i++) { // 중간

                if ($i == $page) {

                        echo”<font color=\\”red\\”>$i</font>”;

                } else {

                        echo”<a href=’$filename?

page=$i&vj=$vj&table=$table$url’ target=$target><font color=\\”blue\\”>[$i]

</font></a>”;

                }

        } // 중간

// 이동할 페이지의 가장 끝이 마지막 페이지보다 작을 경우 생략 기호 출력

        if ($page == $tlpn[page]) { // 맨 끝 페이지

                echo”<font color=\\”black\\”> 다음</font>”;

        } else {

                echo”<a href=’$filename?

page=$nexspage&vj=$n_vj&table=$table&sort=$sort&class_code=$class_code&de

pth_code=$depth_code&search_str=$search_str’ target=$target> 다음</font></a>”;

        } // 맨 끝 페이지 완료

}

?>

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

5 Responses

  1. 2024년 9월 17일

    … [Trackback]

    […] Find More here to that Topic: nblog.syszone.co.kr/archives/826 […]

  2. 2024년 9월 30일

    … [Trackback]

    […] Read More Info here on that Topic: nblog.syszone.co.kr/archives/826 […]

  3. 2024년 10월 3일

    … [Trackback]

    […] Find More on that Topic: nblog.syszone.co.kr/archives/826 […]

  4. 2024년 10월 25일

    … [Trackback]

    […] Read More to that Topic: nblog.syszone.co.kr/archives/826 […]

  5. 2024년 11월 12일

    … [Trackback]

    […] Read More to that Topic: nblog.syszone.co.kr/archives/826 […]

페이스북/트위트/구글 계정으로 댓글 가능합니다.