首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将MYSQL中的公司名称与PHP进行模糊匹配以实现自动完成?

要在MySQL中使用PHP实现模糊匹配以实现自动完成,您可以使用以下步骤:

  1. 创建一个HTML表单,包含一个输入框和一个提交按钮。
代码语言:html
复制
<form action="search.php" method="post">
 <input type="text" name="search" id="search" placeholder="搜索公司名称">
 <button type="submit">搜索</button>
</form>
  1. 在search.php文件中,连接到MySQL数据库并获取用户输入的搜索关键词。
代码语言:php
复制
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
  die("连接失败: " . $conn->connect_error);
}

$search = $_POST['search'];
  1. 使用SQL查询进行模糊匹配,并将结果存储在一个数组中。
代码语言:php
复制
$sql = "SELECT company_name FROM companies WHERE company_name LIKE '%$search%'";
$result = $conn->query($sql);

$companies = array();
if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    $companies[] = $row["company_name"];
  }
} else {
  echo "未找到相关公司";
}
$conn->close();
  1. 使用AJAX将查询结果显示在页面上,以实现自动完成功能。
代码语言:html
复制
<!-- 在HTML文件中添加一个div用于显示自动完成结果 -->
<div id="suggestions"></div>

<!-- 添加jQuery库和自定义的JavaScript代码 --><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script><script>
$(document).ready(function(){
  $("#search").on("keyup", function() {
    var search = $(this).val();
    $.ajax({
      type: "POST",
      url: "search.php",
      data: {search: search},
      success: function(data) {
        $("#suggestions").html(data);
      }
    });
  });
});
</script>
  1. 在search.php中,将查询结果格式化为HTML列表,并将其发送回客户端。
代码语言:php
复制
if (!empty($companies)) {
  $output = "<ul>";
  foreach($companies as $company) {
    $output .= "<li>" . $company . "</li>";
  }
  $output .= "</ul>";
  echo $output;
}

现在,当用户在输入框中输入公司名称时,页面将显示与输入内容匹配的公司名称列表,以实现自动完成功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券