繁体   English   中英

Twitter Typeahead结果回显到页面,但未返回到搜索框PHP

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM