Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从PHP和MySQL转换为JSON_Php_Mysql_Arrays_Json - Fatal编程技术网

从PHP和MySQL转换为JSON

从PHP和MySQL转换为JSON,php,mysql,arrays,json,Php,Mysql,Arrays,Json,我需要帮助从我的数据库中获取以下输出 { "CustomerAddress":[ { "customer_address_id":"101", "address_category_name":"Other", "address_name":"Nasser Vocational Training Center, Jao", "Details":[ { "a

我需要帮助从我的数据库中获取以下输出

{
   "CustomerAddress":[
      {
         "customer_address_id":"101",
         "address_category_name":"Other",
         "address_name":"Nasser Vocational Training Center, Jao",
         "Details":[
            {
               "address_details_id":"1",
               "address_details_text":"ADD-101-1"
            },
            {
               "address_details_id":"2",
               "address_details_text":"ADD-101-1"
            }
         ]
      },
      {
         "customer_address_id":"109",
         "address_category_name":"Other",
         "address_name":"Nasser Vocational Training Center, Jao",
         "Details":[
            {
               "address_details_id":"7",
               "address_details_text":"ADD-101-2"
            }
         ]
      }
   ]
}
每个CustomerAddress都有一个或多个详细信息。我在下面尝试过,但正如您在这里看到的,它重复了各个部门:

customer\u address\u id 101有四个细节,它们应该在CustomerAddress下,但它只是重复而已

以下是我的PHP:

$jsonData = array();

while ($mysql_row = $mysql_query->fetch())
{
  $jsonData[] = array(
      'CustomerAddress' => 
      array('customer_address_id' => $mysql_row['customer_address_id'],
      'address_category_name' => $mysql_row['address_category_name'],
      'address_name' => $mysql_row['address_name'],
      'Details' => array(
      'address_details_id' => $mysql_row['address_details_id'],
      'address_details_text' => $mysql_row['address_details_text'])
      )
  );
}
请帮忙

谢谢
Jassim

echo json_encode($jsonData)
您正在为每一行向
$jsonData
添加一个新条目。如果它与前一行具有相同的
customer\u address\u id
,则只需将其追加到
Details
数组中,而不是创建另一行。请参见我如何将其应用于mysql$结果=[];foreach($MainArray作为$record){$result[$record['Machine_Name']][=$record;}echo';打印(结果);在我所链接的问题中循环数组和循环查询结果之间没有什么区别。您应该能够使用相同的逻辑。我尝试了所有方法,但都没有成功:(
echo json_encode($jsonData)
您正在为每一行向
$jsonData
添加一个新条目。如果它与前一行具有相同的
customer\u address\u id
,您应该只是将其添加到
Details
数组,而不是创建另一行。请参阅bu如何将其应用于mysql?$result=[];foreach($MainArray as$record){$result[$record]['Machine\u Name'][]=$record;}echo'';print\r($result);在我链接的问题中循环数组与循环查询结果之间没有什么区别。您应该能够使用相同的逻辑。我尝试了所有方法,但从未为我工作过:(