Показать все данные из базы данных перед поиском - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь создать страницу, которая отображает все данные из базы данных до поиска, а после поиска она должна отображать только результаты поиска.

До сих пор я мог отображать данные послепоиск ..

Я пытаюсь отобразить его перед поиском .... то есть .. Я должен отобразить данные один раз, прежде чем поиск начнется, т. е. когда страница загружается

Я могу отображать результаты поиска, и я могу отображать все данные в дБ только при нажатии любой клавиши.

Я должен иметь возможность просматривать все данные в дБ в то время, когдастраница загружается.

Я пробовал приведенный ниже код, но он не работает ...

$(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 голосов
/ 26 ноября 2018

Я понял !!

Я изменил свой 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();         
?>

Теперь работает ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...