[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>”;
} // 맨 끝 페이지 완료
}
?>