#php #mysql #jquery-ui
#php #mysql #jquery-пользовательский интерфейс
Вопрос:
Я хочу использовать термины, которые хранятся в таблице под названием terms со столбцами id и term
Как я мог бы использовать автозаполнение с базой данных вместо массива?
<!DOCTYPE html>
<html>
<head>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script>
$(document).ready(function() {
$("input#autocomplete").autocomplete({
source: ["c ", "java", "php", "coldfusion", "javascript", "asp", "ruby"]
});
});
</script>
</head>
<body style="font-size:62.5%;">
<input id="autocomplete" />
</body>
</html>
Ответ №1:
вы можете получить массив с помощью вызова ajax или инициализировать при загрузке страницы что-то вроде
<script>
var myArr = [<?php foreach($dbRows as $row){ echo ""$row['keyword']","} ?>];
</script>
Ответ №2:
Существует два способа подключения к базе данных. Общим для обоих является то, что вам нужен PHP (или другой язык), который будет подключаться к базе данных и подготавливать результаты для автозаполнения.
Первый способ — это то, как его описал Headshota. В этом решении PHP заполняет слова автозаполнения уже на HTML-странице.
Второе решение заключается в том, когда автозаполнение выполняет другой запрос к серверу, а затем загружает список слов. На демо-странице автозаполнения вы найдете внизу ссылку на исходный файл PHP. И в HTML-коде демонстрационной страницы вы найдете в разделе «Одиночная птица (удаленная)», как вы должны написать HTML / JavaScript-код.
Какой способ вы выберете, в основном зависит от количества строк в вашей таблице. Если у вас есть несколько сотен строк, я бы выбрал второе решение. Для меньшего объема данных первое решение тоже подходит.