Поиск данных из Mysql из выбора ввода не работает в PHP - PullRequest
0 голосов
/ 25 сентября 2019

Привет, ребята, у меня есть это окно поиска, которое возвращает имя и имя пользователя из базы данных mysql на основе выбранного входного поиска, я получил одну ошибку в php-файле «Неопределенный индекс: термин», но дело в том, что я не знаю, что перепутано »в коде php или javascript, вот мой код:

HTML:

<div class="ss-30255 ss-main" style="">
          <div  class="ss-multi-selected">
            <select id="ajax" class="ss-values"><span class="ss-disabled">Search "Dennis"</span></select>
            <div class="ss-add">
              <span class="ss-plus"></span>
            </div>
          </div>
            <div class="ss-content">
              <div class="ss-search">
                <input type="search" name="search" placeholder="Search" tabindex="0" aria-label="Search">
              </div>
                <div class="ss-list">
                  <div class="ss-option ss-disabled">No Results</div>
                </div>
              </div>
            </div>

Javascript:

 new SlimSelect({
  select: '#ajax',
  searchingText: 'Searching...', // Optional - Will show during ajax request
  ajax: function (search, callback) {
    // Check search value. If you dont like it callback(false) or callback('Message String')
    if (search.length < 3) {
      callback('Need 3 characters')
      return
    }

    // Perform your own ajax request here
    fetch('pagini/momente/dansatori/cauta-dansatori.php')
    .then(function (response) {
      return response.json()
    })
    .then(function (json) {
      let data = []
      for (let i = 0; i < json.length; i++) {
        data.push({text: json[i].term})
      }

      // Upon successful fetch send data to callback function.
      // Be sure to send data back in the proper format.
      // Refer to the method setData for examples of proper format.
      callback(data)
    })
    .catch(function(error) {
      // If any erros happened send false back through the callback
      callback(false)
    })
  }
})

PHP:

 // Escape user inputs for security
$term = mysqli_real_escape_string($db, $_REQUEST['term']);

if(isset($term)){
    // Attempt select query execution
    $sql = "SELECT * FROM users WHERE name LIKE '%" . $term . "%' or lastname like '%" . $term . "%'";
    if($result = mysqli_query($db, $sql)){
        if(mysqli_num_rows($result) > 0){
            while($row = mysqli_fetch_array($result)){
                echo '<span class="ss-option">'.$row['name '].' '.$row['lastname '].'</span>';
            }
            // Close result set
            mysqli_free_result($result);
        } else{
            echo "<p>no results</p>";
        }
    } else{
        echo "ERROR: Could not able to execute $sql. " . mysqli_error($db);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...