簡體   English   中英

如何使用 PHP 將 MySQL 結果嵌套到 JSON 數組中?

[英]How to nest MySQL results into a JSON array using PHP?

請參閱下面的鏈接... http://api.androiddeft.com/cities/cities_array.json

我試圖將我的結果從數據庫嵌套到下面的結構中:

[
    {
        region:"1",
        province:[{
           "Ilocos Norte",
           "Ilocos Sur"  
         }]
    },
    {
        region:"2",
        province:[{
           "Isabela",
           "Cagayan"  
         }]
    }
]

但是,我嘗試過的方法不起作用,我無法獲得我正在尋找的結果:

$rows = array();
$rs = array();
$result = mysqli_query($connect, "SELECT regDesc, regCode FROM refregion ORDER BY regCode ASC");

while($row=mysqli_fetch_array($result)){
    $result2 = mysqli_query($connect, "SELECT provDesc FROM refprovince WHERE regCode = '".$row["regCode"]."' ORDER BY provCode ASC");      

    while($rs=mysqli_fetch_array($result2))

    $rows[] = array(
        'region' => $row["regDesc"],
        'province'=>$rs["provDesc"]
        );
    }           

echo json_encode($rows);

這會導致以下輸出:

[
  {
    region: "REGION I",
    province: "ILOCOS NORTE"
  },
  {
    region: "REGION I",
    province: "ILOCOS SUR"
  },
  {
    region: "REGION II",
    province: "CAGAYAN"
  },
  {
    region: "REGION II",
    province: "ISABELA"
  }

]

嘗試:

    $rows = array();
    $rs = array();
    $result = mysqli_query($connect, "SELECT regDesc, regCode FROM refregion ORDER BY regCode ASC");
    while($row=mysqli_fetch_array($result)){
        $region = $row['regDesc'];
        $result2 = mysqli_query($connect, "SELECT provDesc FROM refprovince WHERE regCode = '".$row["regCode"]."' ORDER BY provCode ASC");      

        while($rs=mysqli_fetch_array($result2)){
            array_push($province,$rs['provDesc'];
        }           

        $tempArray = array(
            'region' => $region,
            'province' => $province
        )

        array_push($rows,$tempArray);
    }

    echo json_encode($rows);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM