我想使用返回 Json-Array 的 Postgresql (9.2) 查询来使用标签和值填充 Jquery 自动完成字段。
我的 sql 查询返回一个如下所示的数组:
[{value:"ki_ln_biganoir",label:"LN Bigarreau noir"},{value:"ki_ln_bigonnoir",
label:"LN Bigon noir"}, ... }]
当我将此字符串存储在文本文件中时,我可以将其用作数据源来填充自动完成脚本。我无法将查询结果传递给自动完成脚本。
我尝试了以下方法:
<?php
require("connect.php");
$query = "select array_to_json(array_agg(row_to_json(s))) from (select art, id_sort as value,
sorte_de as label from sorten) s;";
$result = pg_exec($db_handle, $query) or die('Abfrage fehlgeschlagen: ' . pg_last_error());
$list = pg_fetch_array($result, NULL, PGSQL_ASSOC);
pg_free_result($result);
?>
稍后在我的脚本中,我想将查询结果传递给 javascript:
<script type="text/javascript">
var jsonlist = JSON.stringify(<?php echo $list ?>);
$( "#sortefrm" ).autocomplete({
source: jsonlist,
minLength: 2,
});
</script>
我认为脚本可以像处理平面 json 文件一样处理 $list。
但事实并非如此。
据我所知,我不需要调用 ab ajax 请求。它也应该与 Postgresql-query 返回的 json 一起使用。