数据库
首页 > 数据库> > PHP的-jQuery的自动完成和MySQL的问题

PHP的-jQuery的自动完成和MySQL的问题

作者:互联网

search.php

$text = $mysqli->$_POST['term'];
$query = "SELECT name FROM males WHERE name LIKE '%" . $text . "%' ORDER BY name ASC";
$result = $mysqli->query($query);
$json = '[';
$first = true;
while($row = $result->fetch_assoc())
{
    if (!$first) { $json .=  ','; } else { $first = false; }
    $json .= '{"value":"'.$row['name'].'"}';
}
$json .= ']';
echo $json;

index.php

1)HTML

<body>
Text: <input type="text" id="autocomplete" />
</body>

2)jQuery的

    $( "#autocomplete" ).autocomplete({
        source: function(request, response) {
            $.ajax({ url: "http://localhost/testing/auto/search.php",
            data: { term: $("#autocomplete").val()},
            dataType: "json",
            type: "POST",
            success: function(data){
                response(data);
            }
        });
    },
    minLength: 2
    });

当我输入2个字母时,即使这两个字母与任何一个名称都不匹配,它也会为我提供数据库中的所有名称.

这是如何发生的,我该如何解决?

解决方法:

看来我的评论可以作为答案,因此也可以作为答案.

$mysqli-> $_ POST [‘term’]会做什么?我认为您应该有$text = $_POST [‘term’];.这应该工作.

标签:jquery-ui,autocomplete,mysql,php,jquery
来源: https://codeday.me/bug/20191208/2090450.html