메뉴 건너뛰기

프로그램언어

2017.03.07 02:59

기본적인 페이징

조회 수 24944 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
<? 
# 
# paging.php 
# 페이징 테스트 파일 
# 

$connect = mysql_connect ( "localhost", "아이디", "패스워드" ) or die ("DB에 연결할 수 없습니다."); 
$status = mysql_select_db("DB명", $connect) or die ("DB 사용 실패 : ".mysql_error($connect)); 

// 페이지 설정 
$page_set = 10; // 한페이지 줄수 
$block_set = 5; // 한페이지 블럭수 

$query = "SELECT count(no) as total FROM board"; 
$result = mysql_query($query, $connect) or die ("쿼리 에러 : ".mysql_error($connect)); 
$row = mysql_fetch_array($result); 

$total = $row[total]; // 전체글수 

$total_page = ceil ($total / $page_set); // 총페이지수(올림함수) 
$total_block = ceil ($total_page / $block_set); // 총블럭수(올림함수) 

if (!$page) $page = 1; // 현재페이지(넘어온값) 
$block = ceil ($page / $block_set); // 현재블럭(올림함수) 

$limit_idx = ($page - 1) * $page_set; // limit시작위치 

// 현재페이지 쿼리 
$query = "SELECT no FROM board ORDER BY no DESC LIMIT $limit_idx, $page_set"; 
$result = mysql_query($query, $connect) or die ("쿼리 에러 : ".mysql_error($connect)); 
$rows = mysql_num_rows($result); 
// 리스트 뿌리기 
echo "<pre>"; 
while ($row = mysql_fetch_array($result)) { 
echo $row[no]."\n"; 
} 
echo "</pre>"; 

// 페이지번호 & 블럭 설정 
$first_page = (($block - 1) * $block_set) + 1; // 첫번째 페이지번호 
$last_page = min ($total_page, $block * $block_set); // 마지막 페이지번호 

$prev_page = $page - 1; // 이전페이지 
$next_page = $page + 1; // 다음페이지 

$prev_block = $block - 1; // 이전블럭 
$next_block = $block + 1; // 다음블럭 

// 이전블럭을 블럭의 마지막으로 하려면... 
$prev_block_page = $prev_block * $block_set; // 이전블럭 페이지번호 
// 이전블럭을 블럭의 첫페이지로 하려면... 
//$prev_block_page = $prev_block * $block_set - ($block_set - 1); 
$next_block_page = $next_block * $block_set - ($block_set - 1); // 다음블럭 페이지번호 

// 페이징 화면 
echo ($prev_page > 0) ? "<a href='$PHP_SELF?page=$prev_page'>[prev]</a> " : "[prev] "; 
echo ($prev_block > 0) ? "<a href='$PHP_SELF?page=$prev_block_page'>...</a> " : "... "; 

for ($i=$first_page; $i<=$last_page; $i++) { 
echo ($i != $page) ? "<a href='$PHP_SELF?page=$i'>$i</a> " : "<b>$i</b> "; 
} 

echo ($next_block <= $total_block) ? "<a href='$PHP_SELF?page=$next_block_page'>...</a> " : "... "; 
echo ($next_page <= $total_page) ? "<a href='$PHP_SELF?page=$next_page'>[next]</a>" : "[next]"; 

?> 


List of Articles
번호 제목 날짜 조회 수
160 php 내장함수 2017.03.07 17113
159 www가 붙은 도메인과 안붙은 같은 도메인, 로그인 세션 유지 2017.03.07 17162
158 PHP 날짜/시간 정리 2017.03.07 18732
157 몫과 나머지 구하기 2017.03.07 18570
156 체크박스, post 로 넘기고 받아서 다시 체크하기, checkbox 2017.03.07 21818
155 파일 이름에서 확장자 추출마스터 2017.03.07 20173
154 http://홈주소/?mode=xxx 하는방법 2017.03.07 17755
» 기본적인 페이징 2017.03.07 24944
152 PHP 속도 테스트 20 가지 2017.03.06 18401
151 POST, GET으로 배열값 받기(직렬화) file 2017.03.06 23410
150 파일 업로드 (중복처리) 2017.03.06 20274
149 간단한 PHP 파일 업로드, 다운로드 구현 2017.03.06 28870
148 다중 도메인에 따른 접속방법 2017.03.06 19485
147 네이버 지도 API 연동 PHP 소스 2017.03.06 18756
146 게시판 페이징 기법과 개념 file 2017.03.06 17431
145 PHP 도메인 이름이나 웹문서 주소 알아내기 2017.03.06 17683
144 그누보드, 여분필드 사용팁 2017.03.06 17777
143 엑셀(*.xls) 화일을 PHP에서 읽기 2017.03.06 17565
142 PHP 날짜, 시간 관련 함수. date(), mktime() 2017.03.06 16803
141 잡다한 php 2017.03.06 18588
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved