Develop				
			
										2003.04.23 11:05				
				[php] 초간단 게시판 페이지 분할 알고리즘
																																			조회 수 10201										댓글 0									
				
							페이지 넘기기 알고리즘을 알려드리겠습니다. 
다소 어려운 부분이 있을것입니다. 
따로 정의 되어 있어야 하는 변수를 설명 해드리겠습니다. 
------------------------------------------------------ 
$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"[다음]";
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 | 
|---|---|---|---|---|---|
| 217 | System/OS | [dos] 노트북 백업 스크립트 xcopy 명령 예제 | hooni | 2003.04.23 | 41876 | 
| 216 | Develop | [js] 가운데 새창 뜨는 함수와 이벤트 | hooni | 2003.04.23 | 8035 | 
| 215 | Algorithm | [algorithm] Greedy (탐욕 기법) | hooni | 2003.04.23 | 16915 | 
| 214 | System/OS | [sql] alter table 쿼리 예제 | hooni | 2003.04.23 | 13383 | 
| 213 | System/OS | [sql] 내 방명록 답글 찾는 쿼리문.. (JOIN 구문) | hooni | 2003.04.23 | 13847 | 
| 212 | Develop | 
				
								
					[c++] Window API(MFC) 오목 게임				
																								 | 
																																										hooni | 2003.04.23 | 11230 | 
| 211 | Develop | 
				
								
					[java] 스윙(swing) 인터페이스 이용해서 만든 구구단.. ㅋㅋ				
																								 | 
																																										hooni | 2003.04.23 | 8233 | 
| 210 | Develop | 
				
								
					[c] 프로그래밍 과제..(colprint)				
																								 | 
																																										hooni | 2003.04.23 | 8586 | 
| 209 | Develop | 
				
								
					[php] 초간단 웹 카운터..				
																								 | 
																																										hooni | 2003.04.23 | 8195 | 
| 208 | Develop | 
				
								
					[jsp][php] LDAP 프로그래밍..				
																								 | 
																																										hooni | 2003.04.23 | 8600 | 
| 207 | Develop | 
				
								
					[c] C에서 MySQL DB 사용하기~				
																								 | 
																																										hooni | 2003.04.23 | 8424 | 
| » | Develop | [php] 초간단 게시판 페이지 분할 알고리즘 | hooni | 2003.04.23 | 10201 |