Я использую Библиотека Twitter Typeahead для получения результатов адресации, когда пользователь вводит запрос, но замечает проблему с учетом регистра.
Данные об адресе хранятся в базе данных Postgres, и я использую PHP для запроса таблицы в базе данных со строкой, которую вводит пользователь, а затем помещаю поля в массив, который затем кодируется в JSON.
Это работает нормально и возвращает результаты, но только если пользователь вводит правильный регистр (я хочу, чтобы он мог вводить любой случай и он возвращал результаты).
Это что-то, что мне нужно изменить в моих функциях typeahead / bloodhound, или мне нужно сделать что-то дополнительное к моему массиву JSON, чтобы сделать его нечувствительным к регистру?
Мой скрипт php ниже, если это поможет.
<?php
if (isset($_GET['query'])) {
// Connect to our database
$conn = pg_connect("host=myhost port=myport dbname=mydb user=myuser password=mypass");
// Retrieve the query
$query = $_GET['query'];
// Search the database for all similar items
$sql = pg_query($conn, "SELECT * FROM addresses.llpg_basic WHERE full_address LIKE '%{$query}%'");
$array = array();
while ($row = pg_fetch_array($sql)) {
$address = array(
'ADDRESS' => $row['full_address'],
'POSTCODE' => $row['postcode'],
'UPRN' => $row['uprn'],
'X' => $row['xref'],
'Y' => $row['yref']
);
array_push($array, $address);
}
sort($array);
$jsonstring = json_encode($array);
// Return the json array
echo $jsonstring;
}
?>
Задача ещё не решена.
Других решений пока нет …