메뉴 건너뛰기

프로그램언어

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. No Image 19Jun
    by
    2020/06/19 Views 619 

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

  2. No Image 06Mar
    by
    2017/03/06 Views 19370 

    다중 도메인에 따른 접속방법

  3. No Image 22Sep
    by
    2020/09/22 Views 495 

    네이버 지도 API를 이용한 주소를 좌표로 변환하기 (PHP)

  4. No Image 06Mar
    by
    2017/03/06 Views 18635 

    네이버 지도 API 연동 PHP 소스

  5. No Image 26Mar
    by
    2014/03/26 Views 19434 

    네이버 지도 api php버전

  6. No Image 27Mar
    by
    2017/03/27 Views 17940 

    네이버 자동 띄어쓰기를 이용하기

  7. No Image 08Jan
    by
    2019/01/08 Views 1598 

    내 계정 용량 체크

  8. No Image 08Jul
    by
    2021/07/08 Views 752 

    날짜함수 사용하여 한달에 주차 구하기 weeks by month

  9. No Image 24Jul
    by
    2018/07/24 Views 4523 

    날짜계산 몇일까지.. [ ex)4 일전 new 표시 ]

  10. No Image 29Aug
    by
    2018/08/29 Views 2429 

    날짜/시간함수 정리

  11. No Image 04Jul
    by
    2018/07/04 Views 5230 

    날짜, 시간 포맷하기 (PHP)

  12. No Image 07Mar
    by
    2017/03/07 Views 19977 

    날짜 일수 차이 계산

  13. No Image 27Feb
    by
    2014/02/27 Views 21627 

    날짜 계산하기 (하루전 날짜 구하기)

  14. No Image 23Dec
    by
    2016/12/23 Views 20223 

    깨진 한글 체크

  15. No Image 07Mar
    by 조쉬
    2017/03/07 Views 24849 

    기본적인 페이징

  16. No Image 16Jan
    by
    2019/01/16 Views 1912 

    금액 단위를 만단위부터 표시하는방법

  17. No Image 27Feb
    by
    2014/02/27 Views 29446 

    글내용 이미지 리사이징

  18. No Image 06Mar
    by
    2017/03/06 Views 17606 

    그누보드, 여분필드 사용팁

  19. No Image 12Jan
    by
    2023/01/12 Views 282 

    그누보드 https 보안서버 연결시 오류

  20. No Image 26Mar
    by
    2021/03/26 Views 255 

    구글 학술 검색

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved