Contents

Views 8709 Comment 0
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

페이지 넘기기 알고리즘을 알려드리겠습니다. 

다소 어려운 부분이 있을것입니다. 

따로 정의 되어 있어야 하는 변수를 설명 해드리겠습니다. 

------------------------------------------------------ 

$page : 페이지 

$total : 총 게시물수 

$limite : 한페이지당 출력될 게시물수 

$page_num : 한 페이지당 출력될 링크수 

------------------------------------------------------ 


## 한 화면에 표시될 게시물 뽑아오는 알고리즘 

if(!$page) $page=1; // 페이지가 없으면 1로 정한다 

$total_page = intval(($total-1) / $limite)+1; // 총 페이지수를 구해온다 

$first = ($page-1)*$limite; // 뽑아올 게시물 [처음] 

$last = $limite; // 뽑아올 게시물 [끝] 


// 뽑아올 게시물[끝] : 총 게시물 수가 한페이지당 출력될 게시물수보다 적으면 총 게시

물수를 뽑아올 게시물[끝] 으로 정한다 

if($total < $last) $last = $total; 

// 뽑아올 게시물 [처음]~뽑아올 게시물 [끝] 구한값으로 한페이지에 글을 뽑아 온다 

$limit = "limit $first,$last"; 



## 게시물을 출력한다(생략) ##### 



## 페이지 링크 구하는 알고리즘 

// 한 화면에 출력될 페이지 링크가 3개라고 가정 하면 현재 페이지가 4라면 4,5,6 이라

는 링크만 출력되게 한다 

// 4가 나오는식 

$first_page = intval(($page-1)/$page_num+1)*$page_num-($page_num-1); 

// 6을 구하는식 

$last_page = $first_page+($page_num-1); 

if($last_page > $total_page) $last_page = $total_page; 


// [이전] 버튼 링크 

$prev = $first_page-1; 

if($page > $page_num) echo"[이전] "; 



// [4] [5] [6] 

// 페이지 링크 출력 : 4와 6을 구했으니 여기서는 4~6까지를 for문으로 출력 

for($i = $first_page; $i <= $last_page; $i++) 

if($page == $i) echo"[$i] "; // 출력될 번호가 현재 페이지랑 같다면 진하게 

else echo"[$i]"; 


// [다음] 버튼 출력 

$next = $last_page+1; 

if($next <= $total_page) echo"[다음]";




?

List of Articles
No. Category Subject Author Date Views
» Develop [php] 초간단 게시판 페이지 분할 알고리즘 update hooni 2003.04.23 8709
132 Develop [vbs] CD롬 뱉는 스크립트.. hooni 2003.04.23 11701
131 Develop [js] 새로고침(refresh)방법과 다른 페이지 바꾸기.. hooni 2003.04.23 6521
130 Develop [c] 단기과정[01/24] 정렬 알고리즘 hooni 2003.04.23 6957
129 Develop [c] 단기과정[01/17] 후위연산 스택 계산기.. file hooni 2003.04.23 7226
128 Develop [c] 단기과정[01/15] 피보나치, 파스칼.. 링크리스트 file hooni 2003.04.23 7236
127 Develop [c] 단기과정[01/14] 피보나치, 파스칼.. 파일입출력 file hooni 2003.04.23 7081
126 Develop [c] 단기과정[01/14] 파일 입출력 file hooni 2003.04.23 6825
125 Develop [c] 단기과정[01/10] 과제.. swap(any data, ..) file hooni 2003.04.23 6905
124 Develop [c] 단기과정[01/08] 과제.. 파스칼 삼각형 file hooni 2003.04.23 7256
123 Develop [c] 단기과정[01/08] (다차원 + 배열)포인터, void 포인터 hooni 2003.04.23 7771
122 Develop [c] 단기과정[01/08] 배열, 포인터 hooni 2003.04.23 7225
Board Pagination Prev 1 ... 55 56 57 58 59 60 61 62 63 64 ... 71 Next
/ 71