기본적인 페이징

· 19년 전 · 2379
<?
#
# 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]";

?><div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]</div>
|
댓글을 작성하시려면 로그인이 필요합니다. 로그인

프로그램

+
제목 글쓴이 날짜 조회
19년 전 조회 3,189
19년 전 조회 2,259
19년 전 조회 1,949
19년 전 조회 1,623
19년 전 조회 2,074
19년 전 조회 3,358
19년 전 조회 3,226
19년 전 조회 1,905
19년 전 조회 1,476
19년 전 조회 3,174
19년 전 조회 2,049
19년 전 조회 1,614
19년 전 조회 2,836
19년 전 조회 1,964
19년 전 조회 1,838
19년 전 조회 1,812
19년 전 조회 1,777
19년 전 조회 2,201
19년 전 조회 2,620
19년 전 조회 1,780
19년 전 조회 1,517
19년 전 조회 1,530
19년 전 조회 1,454
19년 전 조회 3,220
19년 전 조회 2,911
19년 전 조회 1,665
19년 전 조회 3,404
19년 전 조회 1,829
19년 전 조회 1,481
19년 전 조회 1,945
19년 전 조회 2,086
19년 전 조회 1,621
19년 전 조회 2,329
19년 전 조회 1,983
19년 전 조회 1,594
19년 전 조회 1,776
19년 전 조회 2,030
19년 전 조회 1,779
19년 전 조회 1,583
19년 전 조회 1,646
19년 전 조회 3,114
19년 전 조회 1,985
19년 전 조회 1,855
19년 전 조회 4,358
19년 전 조회 4,984
19년 전 조회 3,148
19년 전 조회 2,880
19년 전 조회 3,482
19년 전 조회 2,028
19년 전 조회 2,380
19년 전 조회 2,677
19년 전 조회 2,750
19년 전 조회 2,341
19년 전 조회 1,604
19년 전 조회 3,372
19년 전 조회 1,966
19년 전 조회 2,374
19년 전 조회 2,441
19년 전 조회 2,865
19년 전 조회 5,196
19년 전 조회 2,478
19년 전 조회 3,318
19년 전 조회 4,259
19년 전 조회 2,493
19년 전 조회 2,453
19년 전 조회 4,018
19년 전 조회 2,735
19년 전 조회 2,983
19년 전 조회 2,191
19년 전 조회 2,210
19년 전 조회 1,991
19년 전 조회 3,272
19년 전 조회 2,105
19년 전 조회 2,781
19년 전 조회 1,736
19년 전 조회 5,304
19년 전 조회 3,555
19년 전 조회 4,303
19년 전 조회 3,051
19년 전 조회 2,517
19년 전 조회 3,917
19년 전 조회 2,639
19년 전 조회 2,978
19년 전 조회 2,946
19년 전 조회 4,167
19년 전 조회 3,115
19년 전 조회 3,013
19년 전 조회 3,668
19년 전 조회 2,968
19년 전 조회 2,194
19년 전 조회 2,217
19년 전 조회 2,157
19년 전 조회 2,763
19년 전 조회 2,473
19년 전 조회 3,337
19년 전 조회 3,188
19년 전 조회 1,817
19년 전 조회 2,729
19년 전 조회 7,819
19년 전 조회 2,491
🐛 버그신고