2016-05-17 15 views
1

ループに複数の項目があっても、私はforeach上に1つの項目しか取得しません。これは、データがデータベースからフェッチされforeachで1つの項目しか取得できませんPHP

$sql = "Select vID from info"; 
$stmt = $db->query($sql); 
$users = $stmt->fetchAll(PDO::FETCH_ASSOC); 
$dataArray = array(); 
foreach($users as $user){ 
$item = $user['vID'] 
$dataArray['ids'] = $item 
} 
echo json_encode($dataArray); 

: これは私のコードです

[ 
    { 
    "vidID": "1234" 
    }, 
    { 
    "vidID": "5678" 
    } 
] 

を、私は自分の作成した配列をエコーし​​ようとした、唯一つの項目のリターン:

{ 
    "vids": "5678" 
} 
+1

$dataArray['ids'] = $item; 

を交換してください。 –

+0

ありがとうございました@ダゴン... – Amboom

答えて

3

これは、追加する代わりに配列のidをオーバーライドするためです。

アレイにそれを追加したい場合は、あなたがあなたのforeachループで値を上書き

$dataArray[] = $item; 

それとも

array_push($dataArray, $item); 
+0

ありがとう@ChinLeung – Amboom

関連する問題