我正在使用Codeigniter为用户名创建自动填充:
使用参数:search-user?term = s我得到以下数据作为Json:
{"id":"1","value":"Stuart Blackett"}{"id":"2","value":"Simon Wilton"}
然而,当我运行自动选择时,在搜索说“St”时,它会在选项中按名称返回,但也会在ID中返回。
如何防止这种情况发生?我怀疑我的循环可能是问题。
我的PHP函数如下:
function search_user()
{
$term = $this->input->get('term');
$user_search = $this->vendor_model->search_user($term);
$user['response'] = 'false';
if(count($user_search) > 0)
{
$user['response'] = 'true';
$user = array();
foreach($user_search as $user)
{
$user = array(
'id' => $user->user_id,
'value' => $user->user_firstname .' '. $user->user_surname
);
echo json_encode($user);
}
}
}
答案 0 :(得分:1)
{"id":"1","value":"Stuart Blackett"}{"id":"2","value":"Simon Wilton"}
无效JSON。
尽量不要单独回显每个$user
的信息 - 而是构建一个新的users
和json_encode()
数组。例如:
foreach($user_search as $user) {
$users[] = array(
'id' => $user->user_id,
'value' => $user->user_firstname .' '. $user->user_surname
);
}
echo json_encode($users);