如何像即时搜索一样创建谷歌?

时间:2017-01-10 06:09:32

标签: javascript php

我正试图从现在的2周开始进行即时搜索,并且我没有办法,我尝试了所有我知道的事情(这不是很多)我只是修复了错误,并从那里开始。没有。所以我想我不需要向你解释代码必须做什么,因为你的网站都有搜索菜单。一个大问题是(如果有问题)$_ajax; $_POST方法,当我输入必须发布信息的网址属性时,它总是像浏览器网址不像文件一样,如果我把它放在Food-Groups-BG.php那么它会给出错误找不到,无论如何如果名称是对或错。目前我的代码并没有真正做很多事情,也没有给出任何错误。只需在控制台http://prntscr.com/dtoonf中提供。

这是我的代码!



jQuery(document).ready(function ($) {
    $("#food_search").keyup(function(event) {
        var search_term =$(this).val();
        $.ajax({
            type:"POST",
            url:"/Food-Search",
            data:{fsearch:search_term},
            success:function(res) {
                $("#food_search_result").html(res);
            },
            error: function (xhr, ajaxOptions, thrownError) {
                alert(xhr.status);
                alert(xhr.responseText);
                alert(thrownError);
            }
        });
    });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<!----------------------------------------------------------------
                              HTML
----------------------------------------------------------------->
<p>Търсене на храни: <input type="text" name="food-search" id="food_search"></p>
<!----------------------------------------------------------------
                               PHP
----------------------------------------------------------------->
<?php
$hostname = "localhost";
$username = "username";
$password = "pass";
$databaseName = "dbName";

$connect = mysqli_connect($hostname, $username, $password, $databaseName);
if(isset($_POST['fsearch']) && $_POST['fsearch']!="") {
    $fsearch = $connect->prepare("SELECT * FROM food_data_bg WHERE search_term LIKE :title");
    $fsearch->execute(array(
        'title'=>'%'.$_POST['title'].'%'
    ));
    if($fsearch->rowCount()==0) {
        echo 'Не бяха намерени резултати!';
    } else {
        while($data=$fsearch->fetch()) {
        ?>
            <div class="search-result">
                <img src="<?php echo $data['fimage']; ?>" class="fimage"/>
                <span class="result-title"><?php echo $data['title'];?></span><br>
                <span class="calories-total"><?php echo $data['calories total'];?></span><br>
            </div>
        <?php
        }
    }
}
?>
&#13;
&#13;
&#13;

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您必须在php页面上使用json_encode function才能正确获取结果!像echo json_encode($array);一样回显你的数组也要注意你的页面不能包含任何标题,因此在空白页面上打印出来。