티스토리 뷰
mysql을 이용하여 게시판을 만들다 보면 페이징 처리를 해야만 합니다. 페이징이란 총 게시글이 100개가 있으면 20개씩 잘라서 한 화면에 보여주는것을 말합니다. 한마디로 게시글 밑에 [1][2][3][4][5] 이런식으로 클릭하면 해당 페이지의 게시글의 리스트를 뿌려주는 역할을 하게됩니다. mysql에서는 limit를 이용하여 해결이 가능합니다.
예를 들어보겠습니다.
test테이블
컬럼1 |
컬럼2 |
컬럼3 |
1 |
가 |
나 |
2 |
나 |
다 |
3 |
다 |
라 |
4 |
라 |
마 |
이렇게 있다고 가정할때 다음과 같이 사용하면 됩니다.
- SELECT * FROM test LIMIT 가져올 개수
- SELECT * FROM test LIMIT 2
위 쿼리를 실행하면 test테이블에서 1,2테이블만 나오게 됩니다. 하지만 이렇게만 해서는 페이징 처리를 할 수 없습니다.
- SELECT * FROM test LIMIT 기준 row, 가져올 개수
- SELECT * FROM test LIMIT 0 , 2
이렇게 하면 결과값은 첫번재 실행했던 결과와 값은 같습니다. 하지만 아래와 같이 한다면
- SELECT * FROM test LIMIT 2 , 2
결과 값은 2번째 값까지를 제외시킨 3, 4row로 테이블이 만들어 집니다. 결론적으로 100개의 row가 있는 테이블에서 20개씩 화면을 표시한다고 했을때 첫번째 페이지는 LIMIT 0,20 이 되고 2번째 페이지는 LIMIT 20,20이 되고 세번째페이지는 40,20이 됩니다.
급히 적느라 오타나 실수가 있을 수 있으니 충분히 테스트하고 공부해 보시기 바랍니다.
2016/12/01 - [IT 생활] - [mysql] insert구문 조건비교 후 넣기 - dual,exists
![]() |
이상 mysql limit를 이용한 페이징처리 방법에 대해 알아보았습니다.
'IT 생활' 카테고리의 다른 글
[js] 지정한 위치의 char 반환 - charAt (0) | 2016.12.06 |
---|---|
[js] 이전페이지 구별 방법 - referrer (0) | 2016.12.05 |
[mysql] insert구문 조건비교 후 넣기 - dual,exists (0) | 2016.12.01 |
엑셀2010 창 2개, 여러개 띄우기 (0) | 2016.11.29 |
[자바스크립트] 문자열 자르기 - substr (0) | 2016.11.28 |
댓글