mssql top 페이징 기법
페이지 정보
작성자 서방님 댓글 0건 조회 72회 작성일 12-11-07 15:46본문
# mssql 페이징 쿼리 /=======================
-------------------------------------------------------------------------------------
SELECT top 10 * FROM TOrder WHERE no not in (SELECT top 30 no FROM TOrder ORDER BY no DESC ) AND UserId='1' ORDER BY no DESC
SELECT top 1페이지당 출력갯수 * FROM TOrder WHERE no not in (SELECT top 시작레코드번호 no FROM TOrder ORDER BY no DESC ) AND UserId='1' ORDER BY no DESC
## 추가로 함수로 덧붙임당
# $total_record : 총게시물갯수 : 300개
# fnpage : 페이지당 출력갯수 : 10 개씩
# page : 현재페이지
function searchPageCount($total_record,$fnpage,$page){
$total_page = @ceil($total_record/$fnpage);
if($total_record == 0) {
$first = 0;
$last = 0;
} else {
$first = $fnpage*($page-1);
$last = $fnpage*$page;
}
$result['total_record'] = $total_record;
$result['total_page'] = $total_page;
$result['first'] = $first;
$result['last'] = $last;
return $result;
}
## 함수를 활용해 적용한 모습
-------------------------------------------
$page_args = searchPageCount(300,10,1);
SELECT top 10 * FROM TOrder WHERE no not in (SELECT top {$page_args['first']} no FROM TOrder ORDER BY no DESC ) AND UserId='1' ORDER BY no DESC
댓글목록
등록된 댓글이 없습니다.