Javascript:搜索自动完成 - 从mysql数据库中获取结果?

时间:2015-08-23 21:52:13

标签: javascript php mysql search

我正在尝试在我的网站上创建一个搜索栏,该搜索栏会在用户输入搜索结果时显示一系列暗示搜索结果。

因此,如果有人开始输入Hew

并且我的数据库中存在值Hewden,然后这将显示在暗示性搜索结果下拉列表中

我的网页search.php上有以下html表单设置:

的search.php

<form action="include/search_source.php" method="post" name="searchForm">
<input type="text" name="search" class="Search_bar_box" id="search" autocomplete="off">
</form>


<script>
jQuery(document).ready(function($){
    $('#search').autocomplete({source:'include/search_source.php', minLength:2, select: function (event, ui) {
            window.location = 'search_results.php?search=' + ui.item.value;

        }});

    $('#searchForm').on("submit", function (event) {
        event.preventDefault();
        alert($('#search').val());
    });

});


</script>

在search_source.php中,我有以下代码运行mysql查询,该查询假设从数据库中查找我的值:

search_source.php:

<?php
include 'config.php';

$rs = mysql_query('select * from supplier_stats where company_name like "'. mysql_real_escape_string($_REQUEST['term']) .'%" OR supplier_number like "'. mysql_real_escape_string($_REQUEST['term']) .'%" OR descrip like "'. mysql_real_escape_string($_REQUEST['term']) .'%" order by company_name asc limit 0,5');

// loop through each zipcode returned and format the response for jQuery
$data = array();
if ( $rs && mysql_num_rows($rs) )
{
    while( $row = mysql_fetch_array($rs, MYSQL_ASSOC) )
    {
        $data[] = array(
            'label' => $row['company_name'] .' - '. $row['supplier_number'] .' - '. $row['descrip'] ,
            'value' => $row['company_name']
        );
    }
}

// jQuery wants JSON data
echo json_encode($data);
flush();

?>

然后我在 dashboard.php 页面中包含 search.php ,如下所示:

<?php include 'search.php'; ?>

由于某些原因,此代码适用于我的本地主机服务器,但不能在我的主服务器上运行。有谁能告诉我我做错了什么?或者可能告诉我一个更好的方法吗?提前致谢

0 个答案:

没有答案