현대 웹사이트에서는 유용한 검색창이 필수입니다. 이 기능은 사용자의 검색 프로세스를 크게 단순화하고 웹사이트의 사용자 경험을 향상시킬 수 있습니다. 검색 상자 옆에 프롬프트 상자를 추가하면 사용자의 검색 효율성이 새로운 수준으로 높아집니다. 그래서 이번 글에서는 PHP를 사용하여 검색창 프롬프트 상자 기능을 구현하는 방법을 소개하겠습니다.
1. 구현 원리
PHP에서 검색 프롬프트 상자를 구현하는 과정에서 AJAX 기술을 사용해야 합니다. 주로 다음과 같은 단계로 나누어집니다.
2. 구현 단계
먼저 다음 필드가 포함된 products
라는 제품 테이블을 만듭니다. products
的商品表,包含以下字段:
id int(11) 商品 ID name varchar(255) 商品名称 description text 商品描述 price decimal(10,2) 商品价格
我们需要编写一个 query()
函数去连接数据库并执行查询,返回结果数组。示例如下:
<?php function query($query) { $database = new PDO('mysql:host=localhost; dbname=database_name', 'database_user', 'database_password'); $database->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $database->prepare($query); $stmt->execute(); return $stmt->fetchAll(PDO::FETCH_ASSOC); } ?>
实现搜索框提示框逻辑的代码如下:
<?php $keyword = $_GET['keyword']; if ($keyword) { $result = query("SELECT name FROM products WHERE name LIKE '%$keyword%' LIMIT 5"); $data = array(); foreach ($result as $row) { $data[] = $row['name']; } echo json_encode($data); } ?>
以上代码执行如下操作:
从 GET 请求中获取搜索关键字。
查询数据库中与关键字匹配的前 5 个商品名称,并将结果保存在 $data
数组中。
将数据编码成 JSON 格式并返回给客户端。
编写客户端代码
实现搜索框提示框显示的客户端代码如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>PHP 搜索框提示框实例</title> <script src="https://cdn.bootcss.com/jquery/3.5.1/jquery.min.js"></script> </head> <body> <input type="text" id="search-box" placeholder="请输入搜索关键字"> <div id="search-result"></div> <script> $(document).ready(function() { $('#search-box').keyup(function() { var keyword = $(this).val(); $.ajax({ url: 'search.php', type: 'GET', dataType: 'json', data: {keyword: keyword}, success: function(data) { var html = ''; for (var i = 0; i < data.length; i++) { html += '<div>' + data[i] + '</div>'; } $('#search-result').html(html); }, error: function() { $('#search-result').html('无法获取数据!'); } }); }); }); </script> </body> </html>
以上代码执行如下操作:
监听搜索框输入事件。
获取搜索框输入关键字并发送 AJAX 请求到 search.php
데이터베이스 쿼리 함수 작성
query()
함수를 작성해야 합니다. 예는 다음과 같습니다. rrreee
검색 상자 프롬프트 상자 로직을 구현하는 코드는 다음과 같습니다. rrreee위 코드는 다음 작업을 수행합니다.
$data
배열에 저장합니다. 🎜🎜🎜🎜데이터를 JSON 형식으로 인코딩하여 클라이언트에 반환합니다. 🎜🎜🎜🎜클라이언트 코드 작성🎜🎜🎜🎜검색창 프롬프트 상자 표시를 구현하는 클라이언트 코드는 다음과 같습니다. 🎜rrreee🎜위 코드는 다음 작업을 수행합니다. 🎜search.php
로 보내세요. 🎜🎜🎜🎜AJAX에서 반환한 데이터를 검색 프롬프트 상자에 표시합니다. 🎜🎜🎜🎜🎜 3. 요약🎜🎜🎜위 단계를 통해 검색창 프롬프트 상자 기능을 성공적으로 구현했습니다. 사용자가 검색창에 키워드를 입력하면, 웹페이지는 AJAX 기술을 통해 서버로 키워드를 전송하고, 서버는 키워드를 기반으로 데이터베이스를 쿼리하고 일치하는 결과를 웹페이지에 반환합니다. 검색 프롬프트 박스 형태로 탁월한 사용자 검색 경험을 구현합니다. 최상의 결과를 얻기 위해 실제 필요에 따라 이 특정 구현 방법을 유연하게 수정할 수 있습니다. 🎜위 내용은 PHP를 사용하여 검색 프롬프트 상자를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!