Я сделал окно поиска автозаполнения, которое предлагает слова из столбца таблицы mysql по мере ввода, но проблема в том, что он работает, только если я ограничиваю запрос sql примерно 1200 … и у меня есть около 2500 записей. После 1200 он перестает отвечать. Я проиндексировал столбец как FULLTEXT, и вот код, который я использую:
HTML:
<script type="text/javascript">
$(function() {
var availableTags = <?php include('autocomplete.php'); ?>;
$("#furnizor").autocomplete({
source: availableTags,
autoFocus:true
});
});
</script>
<input id="furnizor" type="text" size="50" />
А вот скрипт php ‘autocomplete.php’:
<?php
$connection = mysqli_connect("localhost","user","password","database") or die("Error " . mysqli_error($connection));
$sql1 = "select distinct name from search";
$result_search = mysqli_query($connection, $sql1) or die("Error " . mysqli_error($connection));
$dname_list = array();
while($row = mysqli_fetch_array($result_search))
{
$dname_list[] = $row['name'];
}
echo json_encode($dname_list);
?>
Таблица называется «поиск», а столбец, в котором я ищу, — «имя».
Так что все это работает, если я ограничиваю SQL-запрос до 1200 … все, что за это число становится не отвечает.
Есть ли способ заставить эту работу около 2500 записей?
Задача ещё не решена.
Других решений пока нет …