Sha*_*din 9 postgresql lowercase
我想从Postgresql数据库的行中获取内容,并将其小写版本与用户输入的小写版本进行比较,以检查它是否存在于数据库中.
我试过了:
"SELECT LOWER(name) FROM user_names WHERE name LIKE '%$search%' ORDER BY name ASC"
Run Code Online (Sandbox Code Playgroud)
但这使得查询根本不起作用.
编辑
我正在尝试实现一个自动完成Jquery UI,如下所示:http: //jqueryui.com/demos/autocomplete/#remote for search box(for names)
使用javascript和php.
php代码:
$search = ($_GET['term']);
if (!$con)
{ die('Could not connect: ' . pg_last_error ());}
else
{
$sql = "SELECT name FROM users_table WHERE name LIKE '%$search%' ORDER BY name ASC";
$result = pg_query($sql);
$json = '[';
$first = true;
while ($row = pg_fetch_array($result))
{
if (!$first) { $json .= ','; } else { $first = false; }
$json .= '{"value":"'.$row['name'].'"}';
}
$json .= ']';
echo $json;
exit();
}
Run Code Online (Sandbox Code Playgroud)
JavaScript代码:
$(document).ready(function()
{
$('#auto').autocomplete(
{
source: "./file.php",
minLength: 3
})
})
Run Code Online (Sandbox Code Playgroud)
以上所有工作都很棒..就像在这里的Demo:http://jqueryui.com/demos/autocomplete/#remote
我的问题是数据库中的名称存储在大写(例如LORI)中,当然用户更喜欢在搜索框中插入一个小写来搜索名称(例如lori).但由于它以大写形式存储,我需要转换它.
我试过你的建议:
$sql = "SELECT LOWER(name) FROM users_table WHERE name ILIKE '%$search%' ORDER BY name ASC";
Run Code Online (Sandbox Code Playgroud)
然后我有一个空的下拉列表!很奇怪!
提前致谢.
dwu*_*urf 16
SELECT LOWER(name) FROM user_names
WHERE name ILIKE '%$search%' ORDER BY name ASC
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15025 次 |
最近记录: |