메뉴 건너뛰기

프로그램언어

2017.03.07 02:59

기본적인 페이징

조회 수 24849 추천 수 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
번호 제목 날짜 조회 수
220 다중 파일을 zip으로 묶어받기 2020.06.19 616
219 다중 도메인에 따른 접속방법 2017.03.06 19370
218 네이버 지도 API를 이용한 주소를 좌표로 변환하기 (PHP) 2020.09.22 490
217 네이버 지도 API 연동 PHP 소스 2017.03.06 18635
216 네이버 지도 api php버전 2014.03.26 19434
215 네이버 자동 띄어쓰기를 이용하기 2017.03.27 17940
214 내 계정 용량 체크 2019.01.08 1595
213 날짜함수 사용하여 한달에 주차 구하기 weeks by month 2021.07.08 695
212 날짜계산 몇일까지.. [ ex)4 일전 new 표시 ] 2018.07.24 4523
211 날짜/시간함수 정리 2018.08.29 2429
210 날짜, 시간 포맷하기 (PHP) 2018.07.04 5230
209 날짜 일수 차이 계산 2017.03.07 19977
208 날짜 계산하기 (하루전 날짜 구하기) 2014.02.27 21627
207 깨진 한글 체크 2016.12.23 20223
» 기본적인 페이징 2017.03.07 24849
205 금액 단위를 만단위부터 표시하는방법 2019.01.16 1900
204 글내용 이미지 리사이징 2014.02.27 29446
203 그누보드, 여분필드 사용팁 2017.03.06 17606
202 그누보드 https 보안서버 연결시 오류 2023.01.12 280
201 구글 학술 검색 2021.03.26 255
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved