使用 PHP 和 Ajax 构建自动完成建议引擎:服务器端脚本:处理 Ajax 请求并返回建议 (autocomplete.php)。客户端脚本:发送 Ajax 请求并显示建议 (autocomplete.js)。实战案例:在 HTML 页面中包含脚本并指定 search-input 元素标识符。
PHP 与 Ajax:构建一个自动完成建议引擎
引言
自动完成建议引擎是一个有用的工具,它可以帮助用户在输入字段中查找建议。它通常用于搜索栏、地址字段和其他文本输入区域。本文将指导你使用 PHP 和 Ajax 构建一个自动完成建议引擎。
服务器端脚本
首先,我们需要一个 PHP 脚本来处理 Ajax 请求并返回建议。创建一个名为 autocomplete.php
的文件并添加以下代码:
<?php // 获取查询字符串 $query = $_GET['query']; // 连接到数据库 $conn = new mysqli("localhost", "my_user", "my_password", "my_db"); // 准备 SQL 查询 $stmt = $conn->prepare("SELECT suggestion FROM suggestions WHERE suggestion LIKE ?"); // 绑定查询参数 $stmt->bind_param("s", "%$query%"); // 执行查询 $stmt->execute(); // 获取结果 $result = $stmt->get_result(); // 逐行读取结果并将其转换为 JSON $suggestions = array(); while ($row = $result->fetch_assoc()) { $suggestions[] = $row['suggestion']; } $json = json_encode($suggestions); // 返回 JSON 响应 header("Content-Type: application/json"); echo $json; ?>
客户端脚本
接下来,我们需要一个客户端脚本来发送 Ajax 请求并显示建议。创建一个名为 autocomplete.js
的文件并添加以下代码:
// 获取搜索输入元素 const searchInput = document.getElementById("search-input"); // 添加事件监听器以在按键盘键时触发 searchInput.addEventListener("keyup", function(event) { // 获取查询字符串 const query = searchInput.value; // 如果查询字符串为空,则显示建议 if (query.length > 0) { // 创建 Ajax 请求 const xhr = new XMLHttpRequest(); xhr.open("GET", "autocomplete.php?query=" + query, true); xhr.onload = function() { // 解析 JSON 响应 const suggestions = JSON.parse(xhr.responseText); // 显示建议 // ... (由你实现) }; xhr.send(); } });
实战案例
为了使用自动完成建议引擎,你可以在 HTML 页面中包含上述脚本文件并为 search-input
元素添加标识符。在 autocomplete.php
脚本中,你需要将数据库连接参数更改为与你的数据库设置匹配。
运行引擎
将 autocomplete.php
和 autocomplete.js
文件上传到你的服务器。访问包含 search-input
元素的 HTML 页面,并开始输入一个查询字符串。你应该会看到匹配查询的建议。
以上是PHP 与 Ajax:构建一个自动完成建议引擎的详细内容。更多信息请关注PHP中文网其他相关文章!