메뉴 건너뛰기

프로그램언어

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]"; 

?> 


  1. 다중 파일을 zip으로 묶어받기

    Date2020.06.19 Views617
    Read More
  2. 다중 도메인에 따른 접속방법

    Date2017.03.06 Views19370
    Read More
  3. 네이버 지도 API를 이용한 주소를 좌표로 변환하기 (PHP)

    Date2020.09.22 Views495
    Read More
  4. 네이버 지도 API 연동 PHP 소스

    Date2017.03.06 Views18635
    Read More
  5. 네이버 지도 api php버전

    Date2014.03.26 Views19434
    Read More
  6. 네이버 자동 띄어쓰기를 이용하기

    Date2017.03.27 Views17940
    Read More
  7. 내 계정 용량 체크

    Date2019.01.08 Views1598
    Read More
  8. 날짜함수 사용하여 한달에 주차 구하기 weeks by month

    Date2021.07.08 Views698
    Read More
  9. 날짜계산 몇일까지.. [ ex)4 일전 new 표시 ]

    Date2018.07.24 Views4523
    Read More
  10. 날짜/시간함수 정리

    Date2018.08.29 Views2429
    Read More
  11. 날짜, 시간 포맷하기 (PHP)

    Date2018.07.04 Views5230
    Read More
  12. 날짜 일수 차이 계산

    Date2017.03.07 Views19977
    Read More
  13. 날짜 계산하기 (하루전 날짜 구하기)

    Date2014.02.27 Views21627
    Read More
  14. 깨진 한글 체크

    Date2016.12.23 Views20223
    Read More
  15. 기본적인 페이징

    Date2017.03.07 Views24849
    Read More
  16. 금액 단위를 만단위부터 표시하는방법

    Date2019.01.16 Views1912
    Read More
  17. 글내용 이미지 리사이징

    Date2014.02.27 Views29446
    Read More
  18. 그누보드, 여분필드 사용팁

    Date2017.03.06 Views17606
    Read More
  19. 그누보드 https 보안서버 연결시 오류

    Date2023.01.12 Views282
    Read More
  20. 구글 학술 검색

    Date2021.03.26 Views255
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved