기본적인 페이징
<?
#
# 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>
#
# 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>
게시판 목록
퍼블리셔팁
퍼블리싱과 관련된 유용한 정보를 공유하세요.
질문은 상단의 QA에서 해주시기 바랍니다.
질문은 상단의 QA에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 1277 | 기타 |
선택과집중
|
2개월 전 | 150 | |
| 1276 | CSS |
선택과집중
|
2개월 전 | 272 | |
| 1275 | CSS |
선택과집중
|
3개월 전 | 272 | |
| 1274 | CSS |
선택과집중
|
3개월 전 | 465 | |
| 1273 | 기타 |
선택과집중
|
4개월 전 | 402 | |
| 1272 | CSS |
선택과집중
|
4개월 전 | 532 | |
| 1271 | CSS |
선택과집중
|
5개월 전 | 579 | |
| 1270 | CSS |
선택과집중
|
5개월 전 | 459 | |
| 1269 | CSS |
선택과집중
|
6개월 전 | 541 | |
| 1268 | CSS | 6개월 전 | 430 | ||
| 1267 | 10개월 전 | 711 | |||
| 1266 | HTML | 10개월 전 | 839 | ||
| 1265 | CSS |
|
1년 전 | 770 | |
| 1264 | 1년 전 | 1262 | |||
| 1263 | HTML |
|
1년 전 | 794 | |
| 1262 | CSS |
|
1년 전 | 999 | |
| 1261 | CSS |
|
1년 전 | 1014 | |
| 1260 | HTML | 2년 전 | 1491 | ||
| 1259 | 기타 | 2년 전 | 830 | ||
| 1258 | CSS |
|
2년 전 | 1589 | |
| 1257 | HTML |
|
2년 전 | 1373 | |
| 1256 | CSS |
돈도없어개발하기도시러
|
2년 전 | 1279 | |
| 1255 | 2년 전 | 3614 | |||
| 1254 | 2년 전 | 4797 | |||
| 1253 | 2년 전 | 1554 | |||
| 1252 | 레이아웃 |
swallow
|
2년 전 | 1786 | |
| 1251 | 웹접근성 |
두리삼촌v
|
2년 전 | 2060 | |
| 1250 | 레이아웃 |
두리삼촌v
|
2년 전 | 1694 | |
| 1249 | 레이아웃 |
두리삼촌v
|
2년 전 | 3220 | |
| 1248 | 기타 |
돈도없어개발하기도시러
|
2년 전 | 1151 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기