我正在使用select2插件来填充mysql中的标签。 所以我将q变量传递给getdada.php。但问题是
q变量没有被传递给getdata.php。我想传递这个变量,这样我就可以获得与之相关的数据(可能是我没有将q变量放在适当的位置。)< / p>
2.如果我不使用q变量,则只返回最后一个或第一个变量。我想将所有结果填充为标签数据(可能错误在getdata.php中的jsoncode格式中)
Plz帮助。
$("#e8").select2({
placeholder: "Search for another Concept",
minimumInputLength: 1,
multiple: true,
ajax: { // instead of writing the function to execute the request we use Select2's convenient helper
url: "getdata.php",
dataType: 'json',
data: function (term, page) {
return {
q: term, // search term
page: page
};
},
results: function (data, page) {
return { results: data};
}
}
});
这里是getdata.php
$sql=mysqli_query($db3,"SELECT * FROM o4_tags" );
while($row=mysqli_fetch_array($sql)){
$tags=$row['tag_name'];
$id=$row['id'];
$myArray = array(
array( "id" => "$id", "text" => "$tags" ),
);
}
echo json_encode($myArray);
答案 0 :(得分:1)
首先,您的PHP脚本似乎出现了问题。您当前正在为检索到的每一行创建一个新的$ myArray。实际上只有最后一个数组输出为JSON。此代码修复了该问题:
$sql=mysqli_query($db3,"SELECT * FROM o4_tags" );
$myArray=array();
while($row=mysqli_fetch_array($sql)){
$tags=$row['tag_name'];
$id=$row['id'];
$myArray[]=array( "id" => "$id", "text" => "$tags" );
}
echo json_encode($myArray);
我不确定为什么你在PHP脚本中没有看到搜索词,但是再一次,我没有在PHP中看到任何实际处理搜索词的代码。你试过转储$ _REQUEST吗?