>  기사  >  백엔드 개발  >  PHP에서 Baidu와 유사한 검색 기능을 구현하는 방법

PHP에서 Baidu와 유사한 검색 기능을 구현하는 방법

藏色散人
藏色散人원래의
2023-01-18 09:55:441945검색

PHP에서 Baidu와 유사한 검색 기능을 구현하는 방법: 1. HTML 파일을 만들고 js 코드를 "$(function() {$( "#tags" ).autocomplete({...})"로 설정합니다. ; 2. Pass PHP는 데이터베이스에 연결하고 "function test($keyword) {...}" 메소드를 통해 입력 상자 검색 기능을 구현합니다.

PHP에서 Baidu와 유사한 검색 기능을 구현하는 방법

이 튜토리얼의 운영 환경: Windows 10 시스템, PHP 버전 8.1, DELL G3 컴퓨터

PHP에서 Baidu 검색 기능을 구현하는 방법은 무엇입니까?

PHP는 Baidu 검색 자동 완성(간단한 코드)을 구현합니다.

1. 렌더링:

PHP에서 Baidu와 유사한 검색 기능을 구현하는 방법

2. HTML 코드

<html>
<head>
    <meta charset="utf-8">
    <title>jQuery UI 自动完成(Autocomplete) - 默认功能</title>
    <link rel="stylesheet" href="/public/AutoCom/jquery-ui.css">
    <script src="/public/AutoCom/jquery-1.91.js"></script>
    <script src="/public/AutoCom/jquery-ui.js"></script>
    <script>
        $(function() {
            $( "#tags" ).autocomplete({
                // source: availableTags
                source: "at.php"
            });
        });
    </script>
</head>
<body>
 
<div>
    <label for="tags">标签:</label>
    <input id="tags" name="tags" >
</div>
 
</body>
</html>

3. PHP 코드

<?php
function test($keyword) 
{
    //连接数据库
    $dsn = "mysql:dbname=test;host=localhost;";
    $db = new PDO($dsn, &#39;root&#39;, &#39;root&#39;);
    //查询数据
    $result = $db->prepare("select title from article where title like :title");
    $result->execute(array(&#39;title&#39; => "%" . $keyword . "%"));
    $data = $result->fetchall(PDO::FETCH_ASSOC);
    //将二维数组转化为一维数组(自动补全插件要求的是一个一维数组)
    foreach ($data as $k => $v) {
        $datas[] = $v[&#39;title&#39;];
    }
    return $datas;
}
 
//获取输入框的内容
//注:jquery-ui的自动补全ajax 当我们输入一个c时,Autocomplete实际发送的请求路径为at.php?term=c
$keyword = $_GET[&#39;term&#39;];
 
//根据用户输入值查询相关数据
$data = test($keyword);
//输出json字符串
echo json_encode($data); //输出查询的结果(json格式输出)
 
?>

Remarks: HTML 부분에 소개된 CSS 및 js 소스 코드:

<!-- 引入jQuery UI的css文件 -->
<link href="http://code.jquery.com/ui/1.10.4/themes/ui-darkness/jquery-ui.css" />
<!-- 引入jQuery的js文件 -->
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js" ></script>
<!-- 引入jQuery UI的js文件 -->
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.js" ></script>

문서 참조: http://www.365mini.com/page/jquery-ui -autocomplete.htm

더 많은 기능은 http://www.runoob.com/jqueryui/example-autocomplete.html

을 참조하세요. 요약: 위는 mysql과 jquery-ui를 결합하여 구현한 자동 프롬프트입니다. 실제로 데이터베이스 데이터 볼륨이 크면 전체 데이터베이스 오버헤드가 상대적으로 큽니다.

이런 방식으로 전체 텍스트 검색 도구인 xunsearch나 sphinx를 사용해 볼 수도 있습니다. 장점은 쿼리를 줄이는 것입니다.

추천 학습: "PHP 비디오. 튜토리얼

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

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