기본적인 페이징
<?
#
# 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>
게시글 목록
| 번호 | 제목 |
|---|---|
| 8050 | |
| 8048 | |
| 19969 |
MySQL
mysql 상태를 확인 하는 방법
|
| 19968 |
MySQL
mysql 실시간 processlist
|
| 19967 | |
| 19966 | |
| 19965 |
MySQL
mysql 일반적인 최적화 팁
|
| 19964 |
기타
간단한 리눅스 명령어
|
| 19963 | |
| 19962 |
MySQL
mysql 데이터 경로 바꾸기
|
| 19961 |
MySQL
mysql 운영팁. 느린 쿼리를 발견하기
|
| 28345 | |
| 31017 | |
| 19960 | |
| 19959 |
MySQL
mysql index에 대해..
|
| 19958 |
MySQL
구분자는 enum으로
|
| 19957 |
MySQL
mysql zerofill에 대해
|
| 8039 | |
| 8035 | |
| 8029 | |
| 28344 | |
| 28339 | |
| 8019 | |
| 28338 | |
| 8017 | |
| 8010 | |
| 8007 | |
| 8004 | |
| 8003 | |
| 28332 | |
| 28322 | |
| 7999 | |
| 28317 | |
| 20956 | |
| 7992 | |
| 20945 | |
| 28314 | |
| 20936 | |
| 20931 | |
| 7986 | |
| 20925 | |
| 7982 | |
| 7979 | |
| 7978 | |
| 7975 | |
| 28307 | |
| 7973 | |
| 7966 | |
| 28305 | |
| 7963 | |
| 28300 | |
| 7961 | |
| 28297 | |
| 28295 | |
| 7959 | |
| 19948 | |
| 19947 | |
| 28292 | |
| 31016 | |
| 19946 | |
| 19945 | |
| 28286 | |
| 7958 | |
| 7956 | |
| 7952 | |
| 7946 | |
| 28285 | |
| 28283 | |
| 19943 | |
| 7944 | |
| 7936 | |
| 7931 | |
| 28279 | |
| 24666 | |
| 24663 | |
| 7928 | |
| 7923 | |
| 19941 |
MySQL
phpMyAdmin 시간 늘리기
1
|
| 28274 | |
| 28257 | |
| 28249 | |
| 28248 | |
| 7914 | |
| 7912 | |
| 7911 | |
| 20912 | |
| 7908 | |
| 31755 |
부트스트랩
부트스트랩 MIT 라이센스?
4
|
| 28233 | |
| 28232 | |
| 28228 | |
| 7903 | |
| 28217 | |
| 20900 | |
| 24662 | |
| 20891 | |
| 20882 | |
| 19936 | |
| 20853 | |
| 31011 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기