Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于期权价值的自动完成_Php_Jquery_Mysql - Fatal编程技术网

Php 基于期权价值的自动完成

Php 基于期权价值的自动完成,php,jquery,mysql,Php,Jquery,Mysql,我已经从jquery.com自动完成了。而不是在自动完成中显示变量。我想显示数据库记录的自动完成。我只想根据下拉选项值在自动完成记录中显示。如何做到这一点?请帮帮我。我被困在这里了 这就是我现在所拥有的。但是,如果比较值来自期权值,该如何做呢 $(document).ready(function(){ $("#tag").autocomplete("autocomplete.php", { selectFirst: true }); }); 这是我的autocompl

我已经从jquery.com自动完成了。而不是在自动完成中显示变量。我想显示数据库记录的自动完成。我只想根据下拉选项值在自动完成记录中显示。如何做到这一点?请帮帮我。我被困在这里了

这就是我现在所拥有的。但是,如果比较值来自期权值,该如何做呢

$(document).ready(function(){
 $("#tag").autocomplete("autocomplete.php", {
        selectFirst: true
    });
});
这是我的autocomplete.php

<?php
    $mysqli = new mysqli("localhost", "root", "", "2015") or die("Database Error");
    $auto = $mysqli->real_escape_string($_GET["q"]);
    $sql = $mysqli->query("SELECT * FROM code WHERE item LIKE '%$auto%' GROUP BY id ORDER BY item" ); 

    if($sql)
    {
        while($row=mysqli_fetch_array($sql))
        {
            echo $row['item']."\n";
        }
    }
?>
HTML应该是

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Autocomplete - Default functionality</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.9.1.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(function() {
$( "#tags" ).autocomplete({
source: 'yourPHPFile.php?'
});
});
function changeAutoComplete (val) {
    $( "#tags" ).autocomplete({
        source: 'yourPHPFile.php?selected='+val
    });
}
</script>
</head>
<body>

<select id="main" name="main" onchange="changeAutoCompete(this.value)">
<option value=""  selected="selected">Choose</option>
<?php echo $option; ?>
</select>

<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags">
</div>
</body>
</html>

jQuery UI自动完成-默认功能
$(函数(){
$(“#标记”).autocomplete({
来源:“yourPHPFile.php?”
});
});
函数更改自动完成(val){
$(“#标记”).autocomplete({
source:'yourPHPFile.php?selected='+val
});
}
选择
标签:
PHP应该是这样的

<?php
    $mysqli = new mysqli("localhost", "root", "", "2015") or die("Database Error");
    $auto = $mysqli->real_escape_string($_GET["term"]);
    $selected = $mysqli->real_escape_string($_GET["selected"]);
    $sql = $mysqli->query("SELECT * FROM code WHERE item LIKE '%$auto%' AND selected='$selected' GROUP BY id ORDER BY item" ); 

    if($sql)
    {
        $str = array();
        while($row=mysqli_fetch_array($sql))
        {
            $str[] = $row['item'];
        }
        echo json_encode($str);
    }
?>

使用基本的HTML很容易做到这一点

<input list="languages">
<datalist id="languages">
  <option value="Dutch">
  <option value="English">
  <option value="German">
  <option value="Chinese">
  <option value="Swedish">
</datalist> 


。您必须为插件创建JSON响应,才能正确理解值。阅读最后一个链接的更多信息,了解如何格式化数据。你可能需要使用
json\u encode
@Newbi3你能帮我更多吗?我求求你,你是在用“\n”重复php中的值。我相信autocomplete期望从php返回一个JSON对象。@SajithNair这对我来说是个大问题:(我不知道如何开始制作JSONI)我已经将php更改添加到我的回答中了。我在autocomplete.php中的查询如何?您将得到$u请求['selected']使用从选项列表中选择的值。您必须基于该值编写查询。@SajithNair仍不工作。如果$q正在工作,则该查询来自不同的自动完成jquery@SajithNair :(仍然没有。HUHU您可以使用javascript控制台并告诉我,当您执行自动完成请求时,请求将发送到服务器吗?我可以根据选项值获取所有记录?您想添加它,以便它使用PHP创建具有所需值和名称的选项。然后,如果为某个部件编写了选项值,它将自动完成。
<input list="languages">
<datalist id="languages">
  <option value="Dutch">
  <option value="English">
  <option value="German">
  <option value="Chinese">
  <option value="Swedish">
</datalist>