Проблема с автозаполнением в инпуте

244
27 февраля 2018, 04:40

Здравствуйте друзья. Имеется инпут

<input type="text" name="incoming_sender" id="incoming_sender" class="form-control">

Имеется JS код

<script type="text/javascript">
  $(document).ready(function() {
    $( "#incoming_sender" ).autocomplete({
      source: 'autocomplete.php'
    });
  });
</script>

И PHP файл autocomplete.php который генерирует варианты для автозаполнения инпута со следующим содержанием :

require_once ('includes/connect.php') ;
$result = mysqli_query($con,"SELECT * FROM usertbl") or die(mysqli_error());            
while($row = mysqli_fetch_assoc( $result )) {
  $data[] = $row['full_name'];
}
echo json_encode($data);

Варианты для автозаполнения инпута с именами отправителей берутся из БД. Но проблема в том, что когда пользователь начинает ввод букв или символов в инпут, там отображаются все данные из БД, а не только те в которых есть совпадение с веденным символом. Например из базы вытаскиваются имена 'Сергей', 'Алексей'. Если ввести какую-нибудь цифру, знак препинания или буквы, которых нет в именах, то он все равно отображает все имена. Как это исправить ?

PS: Такой вариант работает без проблем:

<script>
  $(document).ready(function() {
    $("#incoming_sender").autocomplete({
      source: [
        "Сергей",
        "Алексей",
        "Игорь",
      ],
      minLength: 1
    });
  });
</script>
Answer 1

В вашем файле autocomplete.php в запросе нужно учитывать то, что пользователь уже ввёл:

require_once ('includes/connect.php') ;
$term = mysqli_real_escape_string($con, $_GET['term']);
$result = mysqli_query($con, "SELECT * FROM usertbl WHERE full_name LIKE '%".$term."%'") or die(mysqli_error());          
while($row = mysqli_fetch_assoc($result)) {
  $data[] = $row['full_name'];
}
echo json_encode($data);
READ ALSO
Помогите, не срабатывает рекурсия

Помогите, не срабатывает рекурсия

ПриветПишу мини игру "карточный жребий"

229
ACF + сравнение товаров

ACF + сравнение товаров

Есть сайт на WordPress на нем реализован каталог товаров с помощью пользовательских типов записей + ACF произвольные поля, с помощью которых заполняются...

157