2016-08-22 10 views
0

json_encode()を使用して複数のデータベースクエリを出力する必要があります。 json_encodeを使用してデータベースレコードを出力するこのコードを以下に示します。これは正常に動作します。PHPでjson_encodeを使用して複数のテーブルクエリを出力する

<?php 

error_reporting(0); 
include('db.php'); 

$result = $db->prepare('SELECT username,firstname,lastname FROM user'); 
$result->execute(array()); 

$data = array(); 

while ($row = $result->fetch()) { 
    $data[] = $row; 
} 

echo json_encode($data); 

?> 

別のデータベースクエリを追加して、同じjson_encodeを使用してそれらを一緒に印刷できるようにする必要があります。 json_encodeを使用してそれらを一緒に印刷できるように、追加するデータベースクエリは次のとおりです。

<?php 

include('db.php'); 

$result = $db->prepare('SELECT price AS price1,goods AS product FROM provision_table'); 
$result->execute(array()); 

$data_pro = array(); 

while ($row = $result->fetch()) { 
    $data_pro[] = $row; 
} 

echo json_encode($data_pro); 
?> 

どうすればこの問題を解決できますか?

+0

可能重複[二つの配列を結合(http://stackoverflow.com/questions/6535444/combine-two-arrays) –

答えて

0

これはあなたが探しているものに当たるかもしれないと思います。

<?php 

error_reporting(0); 
include('db.php'); 

$result = $db->prepare('select username,firstname,lastname from user'); 
$result->execute(array()); 

$data = array(); 

while ($row = $result->fetch()) { 
    $data[] = $row; 
} 

$result = $db->prepare('select price as price1,goods as product from provision_table'); 
$result->execute(array()); 

$data_pro = array(); 

while ($row = $result->fetch()) { 
    $data_pro[] = $row; 
} 

// Combine both arrays in a new variable 
$all_data['user'] = $data; 
$all_data['pro'] = $data_pro; 

echo json_encode($all_data); 
+0

こんにちは親愛なる、そのない印刷または任意の値を出力します。すべての価値はただ空だった。 $ all_data変数をどこで初期化したのか分かりません。 – nackolysis

関連する問題