2016-11-05 14 views
-3

私はデータベースからPHPのjsonオブジェクト全体の代わりにjsonで値の配列のみを取得する方法を知っているかもしれませんか?例えばデータベースからPHPでJSONの値だけを取得する方法は?

<?php 
require_once('dbConnect.php'); 
$sql = "SELECT RestaurantName FROM Restaurant"; 
$result = mysqli_query($connection, $sql) or die("Error in Selecting " .  mysqli_error($connection)); 
$restaurantArray = array(); 
while($rows = mysqli_fetch_assoc($result)) { 
$restaurantArray[] = $rows; 
} 
echo json_encode($restaurantArray); 
mysqli_close($connection); 
?> 

["Afonso Cláudio", "Água Doce do Norte"] 

代わりの

[{"city":"Afonso Cláudio"},{"city":"Água Doce do Norte"}] 

答えて

0

データベースからデータをassocとして取得すると、連想配列(jsonに変換されたときにjsonオブジェクトになります)が結果として得られます。
現在実行していることは、結果配列に行(1つのキー値を持つ連想配列)を追加することです。 しか都市を望んでいない場合は、そのデータをassoc配列から簡単に取得できます。

$restaurantArray[] = $rows; 

を変更

$resturantArray[] = $rows['city']; 

にトリックを行う必要があります。あなたはそれに都市名を押して、結果のデータを再フォーマットし、ないと思った場合

また、array_mapコールを使用することができる:

$result = array_map(function($assocArr) { 
    return $assocArr['city']; // Or whatever you want the value to be. 
}, 
$resturantArray); 

echo json_encode($result); 
0

どのようにこの行を変更について:

$restaurantArray[] = $rows; 

付:

$restaurantArray[] = $rows['city']; // (or 'RestaurantName') 
関連する問題