php - 如何在 Ajax 和 PHP 中创建自动完成搜索?

标签 php jquery mysql ajax

我正在创建一个基本的自动完成 ajax 脚本来获取 mysql 数据库搜索结果,但无法在 php 页面中显示结果。

我可以在 search.php 中看到从数据库中获取的数据作为数组,但在 check.php 页面中却没有显示。这是因为某种 CSS 还是其他问题?

任何建议都会有很大帮助!!

这是

check.php

<html>
<head>
<title></title>

<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js"></script>
<script type="text/javascript" src="https://code.jquery.com/ui/1.11.3/jquery-ui.min.js"></script>

<style type="text/css">

    li.ui-menu-item{
        font-size: 12px !important;
    }

</style>

<script type="text/javascript">

    $(document).ready(function(){
        $('#regionsearch').autocomplete({
            source: 'search.php',
            minLength:1
        });
    });

</script> 


</head>

<body>

<form action="" method="POST">
    Search: <input type="text" name="search" id="regionsearch"/>
</form>

</body>
</html>

search.php

<?php


$dblink = mysql_connect('localhost', 'root', 'root') or die(mysql_error());
mysql_select_db('user_information');


if(isset($_REQUEST['term']))
    exit();




$rs = mysql_query('Select * from registered_users where first_name like "'.ucfirst($_REQUEST['term']).'%" order by id asc limit 0,10',
    $dblink);

$data = array();
while($row=mysql_fetch_assoc($rs, MYSQL_ASSOC)){
    $data[] = array(
            'label'=>$row['first_name'],
            'value'=>$row['first_name']
        );
}

echo json_encode($data);
flush()

?>

最佳答案

是的,因为您使用的是 jquery ui 插件,所以您需要嵌入适当的 css。

要遵循您已经完成的操作,请在您的 html 模板中使用这一行:

<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.css"/>

您还应该阅读文档以获取远程数据并调整您的代码:

https://jqueryui.com/autocomplete/#remote-jsonp

$(document).ready(function(){
    $('#regionsearch').autocomplete({
        source: 'search.php',
        minLength:1,
        dataType: "jsonp",
        data: {
            q: request.term
        },
        success: function( data ) {
            response( data );
        }
    });
});

关于php - 如何在 Ajax 和 PHP 中创建自动完成搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34544492/

相关文章:

php - mysql_insert_id() 不工作

php - 如何获取类中的静态变量列表?

javascript - 使用幻灯片过渡移动 div

javascript - 如果这些字符串包含 div 中的页面,我需要显示模式

mysql - 从mysql执行系统命令

mysql - 将从html表单捕获的数据全部大写插入mysql中

php - 按where条件排序

javascript - 未捕获的 TypeError : Object function (a, b){return new e.fn.init(a,b,h)} 没有方法 'widget'

python - 通过 Python 对 MySQL 数据库中的密码进行 SHA512 哈希处理

php - 如果它们具有相同的名称,则回显 fetch_array 行