백엔드-PHP

PHP 백엔드

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

PHP 29강. 검색 기능(Search)
목록으로
PHP 29강. 검색 기능(Search)
1. 검색 기능이란?

검색 기능은 사용자가 입력한 키워드에 맞는 데이터만 조회하는 기능입니다.

예를 들어 동부산CC에서는 다음과 같은 검색이 가능합니다.

공지사항 제목 검색
게시판 글 검색
예약자 이름 검색
회원 아이디 검색
갤러리 제목 검색
2. 검색 구조
사용자 키워드 입력

GET 전송

PHP

SQL WHERE

MySQL 조회

결과 출력
3. 검색 Form
<form action="board.php" method="get">
<input
type="text"
name="keyword"
placeholder="검색어를 입력하세요">

<button>
검색
</button>
</form>
4. PHP에서 검색어 받기
$keyword = $_GET["keyword"] ?? "";

??는 값이 없을 때 기본값을 지정하는 문법입니다.

5. LIKE 검색
SELECT *
FROM board
WHERE title LIKE '%검색어%';

LIKE는 포함 검색입니다.

예를 들어 예약을 검색하면

예약 안내
주말 예약 오픈
예약 변경 공지

같은 글이 검색됩니다.

6. PDO 검색
$sql = "
SELECT *
FROM board
WHERE title LIKE ?
ORDER BY id DESC
";

$stmt = $pdo->prepare($sql);

$stmt->execute([
"%".$keyword."%"
]);

$list = $stmt->fetchAll();
7. 제목 + 내용 검색
$sql = "
SELECT *
FROM board
WHERE title LIKE ?
OR content LIKE ?
ORDER BY id DESC
";

$stmt = $pdo->prepare($sql);

$stmt->execute([
"%".$keyword."%",
"%".$keyword."%"
]);
8. 동부산CC 공지사항 검색
$sql = "
SELECT *
FROM notice
WHERE title LIKE ?
OR content LIKE ?
ORDER BY id DESC
";

공지 제목과 내용을 함께 검색할 수 있습니다.

9. 예약자 검색
$sql = "
SELECT *
FROM reservation
WHERE member LIKE ?
ORDER BY id DESC
";

관리자 페이지에서 예약자 이름으로 검색할 때 사용합니다.

10. 회원 검색
$sql = "
SELECT *
FROM member
WHERE userid LIKE ?
OR name LIKE ?
OR phone LIKE ?
ORDER BY id DESC
";

회원 아이디, 이름, 연락처를 검색할 수 있습니다.

11. 검색 결과 없음
if(count($list) == 0){
echo "검색 결과가 없습니다.";
}
12. 검색어 유지
<input
type="text"
name="keyword"
value="<?php echo $keyword; ?>">

검색 후에도 입력한 검색어가 유지됩니다.

13. 페이지네이션과 검색 연결

검색어가 있는 상태에서 페이지를 넘길 때는 keyword를 함께 넘겨야 합니다.

echo "<a href='?keyword=$keyword&page=$i'>$i</a>";
14. React 검색
axios.get(
`/api/board.php?keyword=${keyword}`
);

React에서는 검색어를 쿼리스트링으로 PHP에 전달합니다.

15. JSON 응답
echo json_encode([
"list" => $list,
"keyword" => $keyword
]);
16. 동부산CC 활용

검색 기능은 다음 화면에 적용할 수 있습니다.

공지사항
자유게시판
예약목록
회원관리
갤러리
문의내역
17. 검색 실행 흐름
검색어 입력

검색 버튼

GET keyword

LIKE 검색

fetchAll()

목록 출력
18. 실습 과제

다음 검색 기능을 만들어 보세요.

공지사항 제목 검색
예약자 이름 검색
회원 이름 검색
검색 결과 없음 메시지 출력
검색어 유지
19. 실무 팁

검색 기능을 만들 때는 다음을 신경 써야 합니다.

prepare() 사용
검색어 공백 제거
검색 결과 없음 처리
페이지네이션과 검색어 연결
최신순 정렬 유지
20. 정리

검색 기능은 사용자가 입력한 키워드에 맞는 데이터만 조회하는 기능입니다.

PHP에서는 GET으로 검색어를 받고, MySQL의 LIKE와 PDO의 prepare()를 이용해 안전하게 데이터를 조회합니다.

동부산CC 프로젝트에서는 공지사항, 예약목록, 회원관리, 게시판, 갤러리 등 대부분의 목록 화면에 검색 기능을 적용할 수 있습니다.
#PHP 29강. 검색 기능(Search)

첨부 파일

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

댓글 / 답글

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