2015-12-23 18 views
-2

我想有以下輸出爲JSON:MySQL作爲Json的PHP

{ 
     "test": [ 
     { 
     "Name" : "Alfreds Futterkiste", 
     "City" : "Berlin", 
     "Country" : "Germany" 
     }, 
     { 
     "Name" : "Berglunds snabbköp", 
     "City" : "Luleå", 
     "Country" : "Sweden" 
     }, 
     { 
     "Name" : "Centro comercial Moctezuma", 
     "City" : "México D.F.", 
     "Country" : "Mexico" 
     } 
    ] 
} 

我得到這個工作在php通過這個代碼:

$arr = array(
"test" => array(
    array(
     "Name" => "Test", 
     "City" => "Test", 
     "Country" => "Test" 
    ), 
    array(
     "Name" => "Test", 
     "City" => "Test", 
     "Country" => "Test" 
    ), 
    array(
     "Name" => "Test", 
     "City" => "Test", 
     "Country" => "Test" 
    ), 
) 
); 
echo json_encode($arr); 

但現在,我從獲取數據一臺服務器。這個數據我想看起來完全像上面的json。我怎樣才能用每行的取數據替換數組?


我通過這段代碼獲取來自服務器的數據:

$sql = "SELECT * FROM Customer"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
// output data of each row 
while($row = $result->fetch_assoc()) { 

    $Name1[] = $row["Name1"]; 
    $Land[] = $row["Land"]; 
    $City[] = $row["City"]; 
} 

} else { 
    $returnValue["RecordsExisting"] = "False"; 
} 


感謝

+3

請編輯您的問題,以顯示如何從服務器獲取數據。 –

+0

本網站不存在教你如何完成編程任務。如果您已經嘗試過並遇到特定問題,您應該詢問相關問題。 – csmckelvey

+1

不只是downvote?這沒有意義,因爲我沒有倒下,而是留下了一條評論,這正是你告訴我要做的。 – csmckelvey

回答

3

嘗試是這樣的:

$arr = []; 
while($row = $result->fetch_assoc()) { 
    $r = []; 
    $r['Name'] = $row["Name1"]; 
    $r['City'] = $row["City"]; 
    $r['Country'] = $row["Land"]; 
    $arr[] = $r; 
} 

然後

echo json_encode($arr); 

請注意,這個不包括test鑰匙從一開始。


現在,如果你真的需要 test那裏,只是不喜歡這樣寫道:

$foo = array('test' => $arr); 
echo json_encode($foo); 


(沒有測試,但是......) 既然你使用的是什麼我想是的mysqli的 fetch_assoc,您不需要更改密鑰。有一種可以利用的解決方法。 如果您使用 select這樣,你可能會得到同樣的結果(這可能出現在小寫):

SELECT Name1 as Name, City, Land as Country FROM Customer; 

你可以看看從this頁一些別名例子...

這樣你可以:

while(... 
    $arr[] = array($row["Name"], $row["City"], $row["Country"]); 
) 
// 'test' add part 
echo ... 
+0

是的,它工作,我得到以下輸出,與每個用戶的城市,國家和名稱,但圍繞它我需要測試(見上文)。我如何實現它? – Anokrize