[英]Twitter Typeahead results echoing to page but not returning to the search box PHP
我正在与Twitter Typeahead一起搜索数据库中的用户。 我希望它在输入时显示最接近其查询的结果。 我在后端使用PHP。
如果将查询手动添加到url的末尾,我有想要回显到页面的结果,我可以在Chrome编辑器的“网络”标签中看到,当我键入查询时,它正在发送带有查询的请求打字。 不幸的是,预先输入搜索框永远不会填充结果。
这是搜索框的html:
<div class="row margin-top">
<div class="small-12 large-2 columns">
<input type="text" name="typeahead" class="search typeahead tt-query" autocomplete="off" spellcheck="false" placeholder="Search Here">
<input type="submit" class="button">
</div>
</div>
<!-- JAVASCRIPTS -->
<script src="/js/typeahead.min.js"></script>
<script src="/js/search.js"></script>
这是我的search.js:
$(document).ready(function(){
$('input.typeahead').typeahead({
name: 'typeahead',
remote: {
url : '/admin?query=%QUERY'
},
limit: 1
});
});
这是php中的搜索功能:
function user_search($key)
{
$link = open_database_connection();
$array = array();
$sql = "SELECT name FROM users WHERE name LIKE '%{$key}%'";
$stmt = $link->prepare($sql);
//Execute
$stmt->execute();
foreach ($stmt->fetchAll(PDO::FETCH_COLUMN) as $row) {
$array[] = $row;
}
return json_encode($array);
}
如果我更改return json_encode($array);
最后一行,则return json_encode($array);
echo json_encode($array);
如果我手动将查询添加到url,它将在页面上回显正确的结果。 但是当我归还它们时,什么也没有发生。
函数中的return
语句将值返回给调用方。 显然, echo
将其发送到页面。 因此,在user_search
地方执行echo
或您想要执行的任何操作。
echo user_search()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.