>  기사  >  백엔드 개발  >  PHP를 사용하여 웹사이트에서 검색 기능을 구현하는 방법

PHP를 사용하여 웹사이트에서 검색 기능을 구현하는 방법

WBOY
WBOY원래의
2023-06-23 11:07:263841검색

인터넷의 대중화와 발전으로 웹사이트는 사람들이 정보와 서비스를 얻는 중요한 채널 중 하나가 되었습니다. 웹사이트의 검색 기능은 사용자가 필요한 정보를 빠르게 얻을 수 있는 중요한 도구 중 하나입니다. 이 기사에서는 PHP를 사용하여 웹사이트에서 검색 기능을 구현하는 방법에 대해 간략하게 설명합니다.

1. 검색 기능의 기본 원칙

웹사이트에서 검색 기능을 구현하려면 다음 4가지 기본 단계를 완료해야 합니다.

1. 웹사이트에서 검색할 키워드를 입력합니다.
3. 웹사이트는 검색 조건에 맞는 데이터를 추출합니다.
4. 웹사이트는 검색 조건에 맞는 데이터를 출력하고 제공합니다.

2. 검색 기능을 구현하는 기술적 방법

1. 검색 기능을 구현하는 가장 중요한 기술적 수단은 SQL 언어를 사용하여 데이터베이스를 쿼리하는 것입니다. PHP에서는 mysqli 또는 PDO와 같은 데이터베이스 확장을 사용하여 쿼리 작업을 위해 데이터베이스에 연결합니다. 전문 검색엔진 서비스의 경우 스핑크스, 루씬 등의 검색엔진 서비스를 이용할 수도 있습니다.

2. 검색 기능 구현 시 다음과 같은 기술적 문제에 주의해야 합니다.

(1) SQL 삽입을 방지합니다. 악의적인 데이터 주입을 방지하기 위해서는 사용자가 입력한 검색어를 필터링하고 검증해야 합니다.

(2) 검색 기능의 효율성. 대규모 웹사이트의 경우 검색 기능은 데이터베이스에 있는 많은 양의 데이터를 쿼리하게 되며 인덱스를 사용하는 등 검색 기능을 최적화해야 합니다.

(3) 검색 결과 표시. 웹사이트의 검색 결과는 사용자의 검색 요구에 따라 분류, 정렬 또는 페이지 매김되어야 합니다.

3. 실전 전투: PHP는 웹사이트에서 검색 기능을 구현합니다.

    데이터베이스 구성
검색 기능을 구현하기 전에 먼저 백엔드 데이터베이스를 구성해야 합니다. 데이터베이스 이름이 "mydb"이고 테이블 이름이 뉴스 정보의 제목과 내용 필드를 저장하는 "news"라고 가정합니다. 다음 명령문을 사용하여 테이블을 생성할 수 있습니다:

CREATE TABLE IF NOT EXISTS news (

id int(11) NOT NULL AUTO_INCREMENT,news (
id int(11) NOT NULL AUTO_INCREMENT,
title varchar(100) NOT NULL,
content text NOT NULL,
PRIMARY KEY (id title varchar(100) NOT NULL,<br> <code>content text NOT NULL,

PRIMARY KEY (id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
검색 인터페이스 구현

사용자가 검색 상자에 키워드를 입력할 수 있는 검색 기능을 위한 인터페이스를 구축해야 합니다. 검색 상자에 키워드를 입력하고 제출 버튼을 클릭하거나 Enter 키를 눌러 처리를 위해 search.php 페이지로 이동하세요.

코드는 다음과 같습니다:





검색
< /head>

검색




                                                                                                              .데이터베이스를 쿼리하여 검색 기능 구현

search.php에서는 데이터베이스로부터 검색 조건에 맞는 데이터를 얻어서 제시해 드립니다. 데이터베이스에 연결하려면 PHP의 mysqli 확장을 사용해야 합니다. 코드는 다음과 같습니다.

$q = $_GET['q']; //검색 키워드 가져오기

if ($q == '') {

echo "검색할 키워드를 입력하세요.";
exit;
}
$con = mysqli_connect('localhost', 'root', '', 'mydb'); //데이터베이스에 연결
if (!$con) {
die("연결할 수 없습니다. 데이터베이스:" . mysqli_error( $con));
}
mysqli_select_db($con, "mydb");//데이터베이스 선택
mysqli_query($con, "설정 이름 'utf8'");
$sql = "select * ' %" . $q . "%' 와 같은 제목 또는 '%" . $q . "%' order by id desc";
$result = mysqli_query($con, $sql);
if ( !$result) {
printf("Error: %s
", mysqli_error($con));
exit();
}
while ($row = mysqli_fetch_array($result)) {//적격한 데이터를 얻기 위해 루프를 돌립니다. 그리고 그것을 제시하세요
echo '

' . $row['title'] . '

';
echo '

' . ;';
}
mysqli_close($con); //데이터베이스 연결을 닫습니다
?>

위 코드는 mysqli 확장을 통해 데이터베이스에 연결하고 데이터베이스에서 검색 조건에 맞는 데이터를 쿼리합니다. 여기에는 다음 단계가 포함됩니다.
(1) SQL 주입을 방지하기 위해 사용자가 입력한 키워드를 필터링하고 확인합니다.

(2) mysqli_connect()를 사용하여 localhost의 mydb 데이터베이스에 연결합니다. 연결 오류 메시지를 표시합니다.

(3) mydb 데이터베이스를 선택하고 데이터베이스 인코딩을 'utf8'로 설정합니다.

(4) SQL 쿼리 문을 사용하여 뉴스 테이블의 정규화된 데이터를 쿼리하고 $order_rows를 사용하여 내림차순으로 정렬합니다.

(5) 루프를 통해 쿼리 결과의 데이터를 얻고 웹 페이지에 제목과 내용을 표시합니다.

(6) 데이터베이스 연결을 닫습니다.

4. 요약

이 글에서는 검색 구현을 위한 기본 원리, 기술적 방법 및 실제 연습을 포함하여 PHP를 사용하여 웹사이트에서 검색 기능을 구현하는 방법을 소개합니다. 이 기사의 데모에서는 mysqli를 사용하여 데이터베이스를 쿼리하고 검색 키워드를 필터링 및 확인하며 SQL 주입의 보안 위험을 방지합니다. 이 기사를 연구하면 검색 엔진의 다른 기술적 수단에 대해 더 심층적인 연구를 수행할 수도 있습니다.

위 내용은 PHP를 사용하여 웹사이트에서 검색 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.