如何从数据库中获取大量数据并通过输入输入将其显示到下拉列表过滤器中,但只能从数据库中选择

Posted

技术标签:

【中文标题】如何从数据库中获取大量数据并通过输入输入将其显示到下拉列表过滤器中,但只能从数据库中选择【英文标题】:how to fetch huge data from database and show it into drop-down list filter by typing input but should be chosen only from database 【发布时间】:2018-10-28 00:36:36 【问题描述】:

如何从数据库中获取大量数据并将其显示到下拉列表中。当用户键入任何内容时,通过键入输入通过过滤器相应地获取数据,但数据应该只从数据库中选择或选择,它不应该作为用户输入的文本传递,然后将下拉列表选项的数据放入该用户表中?数据量巨大,因此在过滤或输入下拉列表时应该显示大约 10 或 15 个数据。工作应该就像我们在 Facebook 个人资料中选择我们的机构或居住地时一样。 在我的代码中。如果在数据库中找不到,它可以选择文本输入,所以我也想摆脱它。

<script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>    
<script>
  $(function() 
    $( "#autoinput" ).autocomplete(
      source: 'searchuni.php'
    );
  );
  </script>
.autocomplete 
  /*the container must be positioned relative:*/
  position: relative;
  display: inline-block;

.autocomplete-items 
  position: absolute;
  border: 1px solid #d4d4d4;
  border-bottom: none;
  border-top: none;
  z-index: 99;
  /*position the autocomplete items to be the same width as the container:*/
  top: 100%;
  left: 8%;
  right: 1%;

.autocomplete-items div 
  padding: 10px;
  cursor: pointer;
  background-color: #fff; 
  border-bottom: 1px solid #d4d4d4; 

.autocomplete-items div:hover 
  /*when hovering an item:*/
  background-color: #e9e9e9; 

.autocomplete-active 
  /*when navigating through the items using the arrow keys:*/
  background-color: DodgerBlue !important; 
  color: #ffffff; 

#autoinput
    background-image: url(img/uniicon.png);
    background-position: 5px 2px;
    background-repeat: no-repeat;
    text-indent:25px;
  
//html file element
<input id="autoinput" type="text" name="myUni" placeholder="University/School" required size="55"><span class="tooltiptext"><label name="uninamett">Choose your university by typing name.</label>
//searchuni php file
<?php
    //connect with the database
    $db = new mysqli($dbHost,$dbUsername,$dbPassword,$dbName);
    //get search term
    $searchTerm = $_GET['term'];
   //get matched data from skills table
    $query = $db->query("SELECT * FROM university WHERE uniname LIKE '%".$searchTerm."%' ORDER BY uniname ASC");
    while ($row = $query->fetch_assoc()) 
        $data[] = $row['uniname'];
    
    //return json data
    echo json_encode($data);
?>

【问题讨论】:

你试过什么?你的代码在哪里? 你没有尝试? 【参考方案1】:

您可以使用“%searchValue%”之类的用户在该特定列上的输入查询数据库,也可以使用限制 10 过滤记录数

【讨论】:

以上是关于如何从数据库中获取大量数据并通过输入输入将其显示到下拉列表过滤器中,但只能从数据库中选择的主要内容,如果未能解决你的问题,请参考以下文章

如何从 html 表单中获取“日期和时间”输入并使用 Spring Boot 保存到 MySQL 数据库中?

如何通过 div.innerHTML 从 JSON 输入中动态设置数据样式?

如何从另一个表中检索并再次将其输入到 laravel 中的另一个表中?

如何从 mongodb 获取数据并使用节点 js 将其显示在表中?

如何从包含表格数据的图像中提取数据?

如何从我的SQL SERVER获取我的数据库列表,并使用javafx将其添加到组合框中