2017-04-17 1 views
1

아약스를 사용하여 Jquery 자동 제안을 설정 중이며 5 개의 제안을 반환하는 데이터베이스에 대한 간단한 쿼리가 있습니다. 필드는 회사와 ID, 그래서 나는 루프 결과PHP 다차원 배열에 추가하기

foreach ($result as $item) { 
$suggest[] = $item['company']; 

}

을 통해 현재이 잘 작동

반환 된 데이터베이스 suggestiions의 각 행에 대해

$result['id'] 
$result['company'] 

를 얻을

echo json_encode($suggest); 

나는 이것들을 추가하고 싶다. 그래서 회사는 라벨과 아이디 다. 다음과 같은 값입니다.

"value": "A Company", "data": "20" 

이 코드를 인코딩하여 내 자동 검색에 사용할 수 있습니다.

미리 감사드립니다.

+1

당신의 질문에 완전히 따르지는 모르겠지만'$ suggest [$ item [ 'id']] = $ item [ 'company'];''id : company' 너의 json에있는 쌍? –

+0

@DaveGoten 반대 의견 $ suggest [$ item [ 'company]] = $ item ['id ']; echo json_encode ($ suggest); –

+0

'$ suggest [] = array ('value'=> $ item [ 'company'], 'data'=> $ item [ 'id']); ' – AbraCadaver

답변

2

는이

foreach ($result as $item) { 
    $suggest[] = [ 
     'value' => $item['company'], 
     'data' => $item['id'], 
    ] 
} 

echo json_encode($suggest); 

같은 주요 배열 배열을 저장해야 그리고 난 다음, 당신은 배열을 생성하는 것이 좋습니다 등의 2 개 이상의 배열을 만듭니다이

[ 
    { 
     'value': 'Some value', 
     'data' : item id 
    } 
] 
+0

' 'data'=> $ item [ 'id'], ' – AbraCadaver

+0

@AbraCadaver 아야, 고침, 고마워. – LiTe

0

같은 것을 반환해야 값 및 데이터 키의 값. 이 같은 . 이 솔루션으로, 당신은 값 또는 데이터 중 하나의 항목을 삭제하면 것을

$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); 

노트는 다른 배열에서 해당 항목을 삭제 할 준비가 . 다른 사람들이이를 개선하거나 더 나은 접근 방식을 제공 할 수도 있습니다.

관련 문제