현재 위치: > 최신 기사 목록> PHP 사이트 검색 기능 구현 자습서 : 양식에서 데이터베이스까지의 쿼리에 대한 자세한 설명

PHP 사이트 검색 기능 구현 자습서 : 양식에서 데이터베이스까지의 쿼리에 대한 자세한 설명

M66 2025-08-04

PHP 사이트 검색 기능 소개

웹 사이트 콘텐츠의 지속적인 성장으로 인해 빠르고 편리한 정보 검색 기능을 사용자에게 제공하는 것이 특히 중요합니다. 현장 검색 기능은 웹 사이트의 유용성 및 사용자 경험을 크게 향상시킬 수 있습니다. 이 기사에서는 PHP를 사용하여 기본 현장 검색 기능을 구현하는 방법을 살펴 봅니다.

검색 양식을 작성하십시오

먼저 사용자가 검색 키워드를 입력하려면 프론트 엔드 페이지에 검색 양식을 추가해야합니다.

 <form method="GET" action="search.php">
  <input type="text" name="keyword" placeholder="키워드를 입력하십시오">
  <input type="submit" value="찾다">
</form>

이 양식은 GET 모드에서 데이터를 제출하고 사용자가 입력 한 키워드를 처리 페이지에 매개 변수로 전달합니다.

사용자 입력 및 프로세스 검색 요청을 가져옵니다

search.php에서 먼저 사용자의 키워드 입력을받습니다.

 <?php
$keyword = $_GET['keyword'];
// 데이터베이스에 연결하고 일치하는 데이터를 쿼리하십시오
// ...
?>

$ _get을 통해 사용자가 키워드를 입력 한 후이 키워드를 사용하여 데이터베이스를 쿼리합니다.

데이터베이스에 연결하고 검색을 수행하십시오

다음은 PDO를 사용하여 데이터베이스에 연결하고 퍼지 매칭 쿼리를 수행하기위한 샘플 코드입니다.

 <?php
$keyword = $_GET['keyword'];

$host = 'localhost';
$dbname = 'database_name';
$username = 'username';
$password = 'password';

try {
  $db = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
} catch (PDOException $e) {
  die("데이터베이스 연결에 실패했습니다:" . $e->getMessage());
}

// 쿼리 문
$query = "SELECT * FROM articles WHERE title LIKE '%$keyword%' OR content LIKE '%$keyword%'";
$result = $db->query($query);
$articles = $result->fetchAll(PDO::FETCH_ASSOC);
?>

여기서 우리는 같은 명령문을 사용하여 기사 제목과 컨텐츠를 쿼리하여 키워드 매칭을 달성합니다.

출력 검색 결과

검색된 기사 데이터는 루프를 통해 페이지에 표시됩니다.

 <?php
foreach ($articles as $article) {
  echo '<h3>' . $article['title'] . '</h3>';
  echo '<p>' . $article['content'] . '</p>';
}
?>

이러한 방식으로 사용자는 키워드를 제출 한 후 키워드가 포함 된 모든 기사를 볼 수 있습니다.

검색 경험을 더 최적화합니다

위의 코드는 기본 검색 기능을 구현할 수 있지만 실제 프로젝트에서는 다음과 같습니다.

  • SQL 주입을 방지하기 위해 필터 사용자 입력
  • 너무 많은 결과를 피하고 너무 천천히로드하기 위해 페이징 기능을 구현하십시오.
  • 검색 정확도를 향상시키기 위해 중국어 키워드에 단어 세분화 기술 사용
  • Elasticsearch 또는 Sphinx와 같은 전체 텍스트 검색 엔진을 사용하여 검색 성능 향상

검색 기능을 합리적으로 최적화하면 사용자 만족도를 향상시킬뿐만 아니라 액세스 전환율이 높아질 수 있습니다.

요약

이 기사는 PHP를 사용하여 양식 제출, 키워드 처리, 데이터베이스 연결 및 쿼리 및 결과 디스플레이를 포함하여 현장 검색을 구현하는 기본 프로세스를 소개합니다. 이 예제는 비교적 기본이지만 초보자에게 좋은 입문 기반이됩니다. 자신의 프로젝트 요구에 따라 더 고급 기능 및 최적화 방법을 점차적으로 소개 할 수 있습니다.