我正在使用ajax设置一个Jquery autosuggest,我对数据库有一个简单的查询,返回5个建议。这些字段是公司和id,所以我得到
$result['id']
$result['company']
返回的数据库建议的每一行
这很好用,目前我循环结果
foreach ($result as $item) {
$suggest[] = $item['company'];
}
echo json_encode($suggest);
我想要添加这些,所以公司是一个标签,id是一个值,类似于
"value": "A Company", "data": "20"
然后,我可以在我的autosuggest中编码和使用。
提前致谢!
答案 0 :(得分:2)
你必须像这样将数组保存到主数组
foreach ($result as $item) {
$suggest[] = [
'value' => $item['company'],
'data' => $item['id'],
]
}
echo json_encode($suggest);
它应该返回类似这样的东西
[
{
'value': 'Some value',
'data' : item id
}
]
答案 1 :(得分:0)
我建议您创建一个数组,然后再创建2个数组作为值和数据键的值。 像这样。
$arr=array();
$arr['value']=array();
$arr['data']=array();
while($suggest=mysql_fetch_assoc($result)){
array_push($arr['value'],$suggest['id']);
array_push($arr['data'],$suggest['company']);
}
echo "<pre>";
print_r($arr);
请注意,使用此解决方案,如果删除值或数据中的条目 准备好删除另一个数组中的相应条目。 其他人可能能够改善这一点,甚至提供更好的方法。