백엔드-PHP

PHP 백엔드

강사: 유백엔드 · 작성자: 이종춘 · 작성일: 2026-07-21 12:46:38 · 조회수: 4

PHP 28강. 페이지네이션(Pagination)
목록으로
PHP 28강. 페이지네이션(Pagination)
1. 페이지네이션이란?

페이지네이션(Pagination)은 많은 데이터를 여러 페이지로 나누어 출력하는 기능입니다.

예를 들어

공지사항

1 2 3 4 5

처럼 페이지 번호를 클릭하여 이동하는 기능입니다.

2. 왜 사용할까?

게시글이

10,000개

있다면

한 번에 모두 출력하지 않습니다.

보통

10개

20개

30개

씩 나누어 조회합니다.

3. LIMIT

MySQL

SELECT *

FROM board

LIMIT 10;

처음 10개만 조회합니다.

4. LIMIT OFFSET
SELECT *

FROM board

LIMIT 10 OFFSET 20;

20번째 이후

10개를 조회합니다.

5. 현재 페이지
$page =

$_GET["page"] ?? 1;

주소

board.php?page=2
6. 페이지당 개수
$limit = 10;

한 페이지에

10개씩 출력합니다.

7. OFFSET 계산
$offset =

($page-1)

*

$limit;

예)

2페이지



10

3페이지



20

8. SQL
$sql="

SELECT *

FROM board

ORDER BY id DESC

LIMIT

$limit

OFFSET

$offset

";
9. 전체 개수
SELECT

COUNT(*)

FROM board;
10. 전체 페이지
$totalPage =

ceil(

$totalCount

/

$limit

);

예)

95개



10개씩



10페이지

11. 페이지 출력
for(

$i=1;

$i<=$totalPage;

$i++

){

echo

"<a href='?page=$i'>$i</a>";

}
12. 현재 페이지 강조
if(

$i==$page

){

echo

"<strong>$i</strong>";

}
13. 동부산CC 예제

공지사항

1

2

3

4

5

다음
14. 예약목록

관리자



예약



10개



다음 페이지

15. React
axios.get(

"/api/board.php?page=2"

);
16. JSON
{

"list":[

...

],

"totalPage":10,

"page":2

}

React는 목록과 페이지 정보를 함께 받습니다.

17. 동부산CC 활용

✔ 공지사항

✔ 게시판

✔ 회원목록

✔ 예약목록

✔ 관리자

18. 실습 과제

다음을 구현해 보세요.

한 페이지 10개 출력
페이지 번호 출력
현재 페이지 표시
이전 / 다음 버튼
19. 실무 팁

✔ LIMIT 사용

✔ COUNT(*) 사용

✔ OFFSET 계산

✔ 최신순 정렬

✔ 현재 페이지 표시

20. 정리

페이지네이션은 많은 데이터를 여러 페이지로 나누어 출력하는 기능입니다.

MySQL에서는 LIMIT와 OFFSET을 사용하여 필요한 데이터만 조회하며, COUNT(*)로 전체 데이터 수를 구해 총 페이지 수를 계산합니다.

동부산CC 프로젝트에서는 공지사항, 예약 목록, 회원 관리, 자유게시판 등 모든 목록 화면에 페이지네이션을 적용하여 성능과 사용자 경험을 개선할 수 있습니다.
#PHP 28강. 페이지네이션(Pagination)

첨부 파일

0개
첨부된 파일이 없습니다.

댓글 / 답글

0개
댓글을 작성하려면 로그인하세요.
아직 댓글이 없습니다.