[英]MySQL -> PHP Array -> Json need output in array plus object format
我正在嘗試從MySQL提取數據並以JSON格式顯示它,這是部分PHP代碼
$sql = "SELECT item, cost, veg, spicy_level FROM food1";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
echo json_encode($row),"<br/>";}
?>我正在輸出為
{"item":"dosa","cost":"20","veg":"0","spicy_level":"1"}
{"item":"idli","cost":"20","veg":"0","spicy_level":"2"}
但我需要它
food1:[
{"item":"dosa","cost":"20","veg":"0","spicy_level":"1"},
{"item":"idli","cost":"20","veg":"0","spicy_level":"2"}
]
誰能指導我? 我認為我得到的是對象格式,我需要以數組格式(即[&])輸出。 這個json和php非常新。
您可以將查詢結果封裝在數組中,然后將其打印出來。
$sql = "SELECT item, cost, veg, spicy_level FROM food1";
$result = $conn->query($sql);
$a = array();
while($row = $result->fetch_assoc()) {
if($a['food1'] ==null)
$a['food1'] = array():
array_push($a['food1'],$row);}
echo json_encode($a);
?></i>
您的代碼應為:
$sql = "SELECT item, cost, veg, spicy_level FROM food1";
$result = $conn->query($sql);
$food['food1'] = array();
while($row = $result->fetch_assoc()) {
$food['food1'][] = $row;
}
echo json_encode($food);
不要在循環中每次都調用json_encode
。 將所有行放入數組中,然后對其進行編碼。
$food = array();
while ($row = $result->fetch_assoc()) {
$food[] = $row;
}
echo json_encode(array('food1' => $food));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.