搜索前显示数据库中的所有数据

时间:2018-11-26 09:16:52

标签: javascript php ajax

我正在尝试构建一个页面,该页面在搜索之前显示db中的所有数据,而在搜索之后它应该仅显示搜索结果。

到目前为止,我已经能够在搜索后显示数据。

我正在尝试在搜索之前显示它。。也就是说,我必须在搜索甚至开始之前(即页面加载时)显示一次数据

我能够显示搜索结果,并且仅在按下任意键时才能显示db中的所有数据。

页面加载时,我应该能够查看db中的所有数据。

我已经尝试了下面的代码,但是没有用...

$(document).ready(function() {
  $('#search_text').keyup(function() {
    var txt = $(this).val();
    console.log(txt);
    if (txt == '') {
      console.log("Enter text");
      $('#result').html('');
      $.ajax({
        url: "fetch_data.php",
        type: "POST",
        data: {search: txt},
        dataType: "text",
        success: function(data) {
          console.log("Data = "+data);
          $('#result').html(data);
        }
      })
    }
    else {
      $('#result').html('');
      $.ajax({
        url: "fetch_data.php",
        type: "POST",
        data: {search: txt},
        dataType: "text",
        success: function(data) {
          console.log("Data = "+data);
          $('#result').html(data);
        }
      })
    }
  })
})

我的 fetch_data.php 是:

<?php

    include_once "class.php";

    $class = new Class();


    if($_POST["search"] == '') {
        // echo "Empty";
        $class->list();
    }
    else {
        $search_data = $_POST["search"];        

        $class->search($search_data);
    }

?>

请帮助...

1 个答案:

答案 0 :(得分:0)

我明白了!

我更改了 js 文件,如下所示:

$(document).ready(function() {
  $('input[name="search_text"]').on('keyup', function() {

          var input, filter, tr, td, i;

          input  = $(this);
          filter = input.val().toUpperCase();
          tr     = $("table tr");

          for (i = 0; i < tr.length; i++) {
              td = tr[i].getElementsByTagName("td")[0];
              if (td) {
                  if (td.innerHTML.toUpperCase().indexOf(filter) > -1) {
                      tr[i].style.display = "";
                  } else {
                      tr[i].style.display = "none";
                  }
              }
          }
      })
})

和我的 fetch_data.php 只有:

<?php           
    $class = new Class();
    $class->list();         
?>

现在可以使用。.