2017-02-01 4 views
0

Всякий раз, когда я ввожу букву «a», она предлагает все имя с буквой «a» в name_table. Я хочу предложить ему только имя, начинающееся с буквы 'a'. Как это исправить?Autosuggest в текстовом поле с использованием php

index.php

<html><script type="text/javascript"> 
$(function() { 
    var availableTags = <?php include('autocomplete.php'); ?>; 
    $("#first_name").autocomplete({ 
     source: availableTags, 
     autoFocus:true 
    }); 
}); 
</script> 
<form> 
<label class="w3-label w3-text-green">Name</label> 
<input class="w3-input w3-border" style="height: 30px" type="text" id="first_name" name = "name" required> 
</form> 
</html> 

autocomplete.php

<?php 
require('connection.php'); 
$sql = "select name from employee"; 
$result = mysqli_query($conn, $sql) or die("Error " . 
mysqli_error($connection)); 

$dname_list = array(); 
while($row = mysqli_fetch_array($result)) 
{ 
$fullname = $row['name']; 

$dname_list[] = $fullname; 
} 
echo json_encode($dname_list); 
?> 
+0

очевидно вы используете плагин, пожалуйста, поделитесь какой плагин это. Я считаю, что в его руководстве вы найдете ответ. –

+0

_Suggestion: _ Всегда начинайте с поиска своей проблемы. Когда я Googled «автозаполнение jquery начинается с», я сразу получил несколько решений ... –

ответ

0

Я предлагаю вам использовать Ajax с PHP для получения результатов автозаполнения на KeyUp (когда некоторые клавиша нажата и отпущена, JS обеспечивает эта функция).

Это довольно простой и straighforward учебник по PHP-AJAX-Autocomplete http://papermashup.com/jquery-php-ajax-autosuggest/

+0

Он уже использует плагин для этого. Не нужно ему изобретать велосипед. –

0

В файле autocomplete.php попробуйте изменить запрос

1.to найти слово, начиная с

запрос: SELECT name from employee where name like 'a%'

2.To найти слово, заканчивающееся с

запрос: SELECT name from employee where name like '%a'

3.To найти слово, содержащее

запрос: SELECT name from employee where name like '%a%'

Вы должны использовать как оператор basically.In SQL, чтобы соответствовать конкретной в результате вашего запроса мы используем приведенный ниже рисунок:

% слово/lettertosearch%

Для более см по этой ссылке: http://www.w3schools.com/sql/sql_like.asp

+0

OP использует плагин автозаполнения jquery, в котором вы извлекаете все рабочие данные из БД и позволяете плагину выполнять сопоставление, поэтому DB-код правильный. –

+0

Согласно предоставленному коду, в autocomplete.php он возвращает все столбцы имен независимо от соответствующей первой буквы. @Tekis хочет в результате только матч, начинающийся с начальной буквы. Следовательно, он должен будет изменить запрос, чтобы получить желаемый результат. – adi

+0

OP извлекает все результаты и позволяет плагину выполнить сопоставление, все в переднем конце, ведь это правильный способ сделать это. Это устраняет накладные расходы на кучу круглых поездок в БД. Это JS-код, который нуждается в изменении (который соответствует уже выбранному списку слов), так же, как и ссылки «Возможные дубликаты». –

Смежные вопросы