gpt4 book ai didi

php - jQuery 自动完成输入框

转载 作者:搜寻专家 更新时间:2023-10-31 20:43:59 24 4
gpt4 key购买 nike

所以我使用 jQuery 和 PHP 创建了一个自动完成框来从数据库中提取内容,它工作正常,除了当我在输入框中输入时它会提取所有结果,而不是类似的结果我在输入什么。

因此,如果您键入 Test,它会返回:

This
is
a
Test

而不是显示

Test

这是我的 HTML

<input type="text" id="group_name" name="group_name">

这是我正在使用的 jQuery

<script>
$(document).ready(function() {
$( "#group_name" ).autocomplete({
source: "/wuzhapnn/php/data_stream/group_names",
select: function(event, ui) {
$("#f").submit(); }
});
});
</script>

这是我的 php 页面

if ($_GET['run'] == 'group_names') {
// pulls live data from database
$db = db_open();
$query = "SELECT group_name FROM groups";
$result = db_query($db, $query);
if (db_num_rows($result) > 1) {
$result = db_fetch_all($result);
foreach ($result as $key=>$value) {
$group_names_array[] .= $value['group_name'];
}
} else {

}

echo json_encode(array_values(array_unique($group_names_array)));
}
  • 最近更新

新的 jQuery

<script>
var availableName;

$.getJson('/wuzhapnn/php/data_stream',function(response){
availableName = response;
});

$(document).ready(function() {
$( "#group_name" ).autocomplete({
source: availableName,
select: function(event, ui) {
$("#f").submit(); }
});
});
</script>

新的 PHP 页面

if ($_GET['run'] == 'group_names') {
// pulls live data from database
$db = db_open();
$query = "SELECT group_name FROM groups WHERE group_name LIKE '%".$_GET['term']."%'";
$result = db_query($db, $query);
if (db_num_rows($result) > 1) {
$result = db_fetch_all($result);
foreach ($result as $key=>$value) {
$group_names_array[] .= $value['group_name'];
}
} else {

}

echo json_encode(array_values(array_unique($group_names_array)));
}

最佳答案

您需要添加LIKE 子句。

"SELECT group_name FROM groups WHERE group_name LIKE '%".$_GET['term']."%'";

因为 "SELECT group_name FROM groups" 这将给出来自 database 的所有结果,但你只需要那些与键入的词匹配的结果,所以使用 LIKE MySQL 子句。

其他人评论回复。

如果你想在使用之前创建 json 对象,你可以按照下面的方式进行,

var availableName;

$.getJson('/wuzhapnn/php/data_stream/group_names',function(response){
availableName = response;
});

在此之后只需使用下面的代码进行自动完成。

$( "#group_name" ).autocomplete({
source: availableName ,

关于php - jQuery 自动完成输入框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15630332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com