【问题标题】:MySQL Search Box with AJAX带有 AJAX 的 MySQL 搜索框
【发布时间】:2019-10-11 07:45:37
【问题描述】:

我遇到了一个小问题。 我想通过输入网站来查找名称。现在,所有记录都显示出来了。我想要的是他在输入内容后显示它。我不希望他立即展示所有内容。

这里有一些代码来了解它的样子。

FETCH.PHP

从数据库中获取所有内容

if(isset($_POST["query"]))
{
 $search = mysqli_real_escape_string($connect, $_POST["query"]);
 $query = "


   SELECT * FROM tbl_customer 
      WHERE website LIKE '%".$search."%'
      OR naam LIKE '%".$search."%' 
     ";
    }
    else
    {
     $query = "
  SELECT * FROM test ORDER BY id
     ";
    }
    $result = mysqli_query($connect, $query);
    if(mysqli_num_rows($result) > 0)
    {
 $output .= '
  <div class="table-responsive">
   <table class="table table bordered">
    <tr>
     <th>Website</th>
     <th>Naam</th>
    </tr>
 ';
 while($row = mysqli_fetch_array($result))
 {
  $output .= '
   <tr>
    <td>'.$row["website"].'</td>
    <td>'.$row["naam"].'</td>
   </tr>
  ';
 }
 echo $output;
}

INDEX.PHP

<div class="container">
   <br />
   <h2 align="center">Ajax Live Data Search using Jquery PHP MySql</h2><br />
   <div class="form-group">
    <div class="input-group">
     <span class="input-group-addon">Search</span>
     <input type="text" name="search_text" id="search_text" placeholder="Zoek door website" class="form-control" />
    </div>
   </div>
   <br />
   <div id="result"></div>

<script>
$(document).ready(function(){

 load_data();

 function load_data(query)
 {
  $.ajax({
   url:"fetch.php",
   method:"POST",
   data:{query:query},
   success:function(data)
   {
    $('#result').html(data);
   }
  });
 }
 $('#search_text').keyup(function(){
  var search = $(this).val();
  if(search != '')
  {
   load_data(search);
  }
  else
  {
   load_data();
  }
 });
});
</script>

【问题讨论】:

  • 移除 load_data() 的 2 个实例;因为这是显示所有数据。
  • 您的意思是 if(search != '') 之后的加载数据。我删除了它,它仍然显示所有数据。
  • 我怎样才能改变它,它只在我输入内容时出现? @杰夫
  • 不,那不是我写的。
  • 您到底想要什么?不要立即加载数据,否则您得到的数据不正确,甚至与您的搜索字符串不匹配?

标签: javascript php mysql ajax


【解决方案1】:

为什么你在加载时调用函数load_data();。 这可能是问题

也将其从其他条件中删除

【讨论】:

  • 没有删掉,还是一样的。
  • 你是什么意思'加载'我怎么能改变它只有当我输入一些东西时才会出现?
  • 哦,是的,没看到。谢谢兄弟。
猜你喜欢
  • 2013-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多