我使用Twitter Typeahead library在用户输入查询时检索地址结果,但我注意到区分大小写的问题。
地址数据保存在Postgres数据库中,我使用PHP使用用户键入的字符串查询数据库中的表,然后将字段推入一个数组,然后将其编码为JSON。
这样可以正常工作并返回结果,但前提是用户输入正确的大小写(我希望他们能够输入任何大小写并返回结果)。
这是我需要在我的先行/猎犬功能中改变的东西,还是我需要对我的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;
}
?>