Моя проблема заключается в том, что я хочу искать запись в базе данных, используя начало с началом, а не с середины или конца. Я видел другие ответы StackOverflow, но те, которые касались автозаполнения Jquery, беря массив в качестве исходного параметра.Использование автозаполнения Jquery, поиск записи в начале срока с внешним источником
Давайте предположим, что у меня есть учебник с ид = школа:
<input type="text" id="school">
В моей таблице базы данных выборки у меня есть следующие школы:
- Дональд Трамп Начальная школа
- Барак Обама Средний Школа
- Franklin Delano Roosevelt Средняя школа
- Theodore Roosevelt Техническая Академия
- Джон Адамс средней школы
- Эндрю Джексон средней школы
- Эндрю день Джонсон Программа по уходу
- Билл Клинтон Prison Образование
- Авраам Линкольн Академии изящных искусств
Если я просто напечатайте «A» - то, что возвращается, - это в основном любая строка с A в ней.
То, что я хочу, возвращенные:
- Эндрю Джексон средней школы
- Эндрю день Джонсон Уход
- Авраам Линкольн академии изящных искусств
$('#school').each(function (i, el) {
var that = $(el);
that.autocomplete({
source: "src/php/extraction.php"
, minLength: 2
, select: function (event, ui) {
info = ui.item.label;
$.ajax({
url: 'foobar.php'
, type: 'POST',
data: {
term : info }
, success: function (data) {
// do stuff }
});
} // end of select function
});
});
В моей foobar.php, на который автозаполнение отправляет , У меня есть следующий код:
if (isset($_GET['term'])) {
$return_arr = array();
try {
$stmt = $conn->prepare('SELECT School_Name FROM SOME_TABLE WHERE School_Name LIKE :term');
$stmt->execute(array('term' => '%'.$_GET['term'].'%'));
while ($row = $stmt->fetch()) {
$return_arr[] = ucwords(strtolower($row['School_Name']));
}
} catch (PDOException $e) {
echo 'ERROR: '.$e->getMessage();
}
/* Toss back results as json encoded array. */
echo json_encode($return_arr);
}
Ничего себе. Ха-ха, большое спасибо – Joseph
Нет проблем, просто отметьте как принято, чтобы помочь другим с той же проблемой. –