douqiang3768 2016-02-05 06:21
浏览 133
已采纳

使用mysql_fetch_assoc的JSON多维数组

My Mysqli Updated Query and it Outputs this

SELECT milestone.id, milestone.name, milestone.date, milestone.location, milestone.story_body, milestone.short_link, milestone.created_at, 
GROUP_CONCAT(images.path) as path , images.update_type
FROM milestone
INNER JOIN images ON milestone.id = images.update_id
WHERE milestone.business_id =  '1' && milestone.status =  '1' && images.update_type =  '3'
GROUP BY milestone.id

DB Capture

How Can I form JSON object using above query?

I've tried below method which doesn't give any result

$result_array = array();
while($row = mysql_fetch_assoc($result))
{
    $result_array[] = $row;

}

I want something like this -

[  
       {  
          "id":"4",
          "name":"2nd anniversary",
          "date":"2015-12-17",
          "location":"Mumbai",
          "story_body":"Gzjjs jdk djks jdks jdkd jx djdb djd JD djbd djdj d",
          "short_link":"izWfs",
          "created_at":"2015-12-11 03:49:52",
          "path":
                 [                       
                   {"\/SupportData\/ImpalzB2B\/uploads\/90294930451448437444826.jpg"},
                   {"\/SupportData\/ImpalzB2B\/uploads\/90294930451449758248579.jpg"}
                 ],
          "update_type":"3"
       },       
       {  
          "id":"7",
          "name":"#1styearAnniversary",
          "date":"2016-01-20",
          "location":"Mumbai",
          "story_body":"Bsjsj jdkdk djdkdk dkdkf kdkf dkfj fjfj fjfkjdd djkd",
          "short_link":"FHXh0",
          "created_at":"2016-01-20 23:10:54",
          "path":"\/SupportData\/ImpalzB2B\/uploads\/11453356652175.jpg",
          "update_type":"3"
       }
    ] 

Note: I know Mysql is not being used in PHP 7. I need to replace it with PDO & Mysqli so please neglect that mistake. I am working on same meanwhile I am facing this query.

  • 写回答

1条回答 默认 最新

  • doufei2328 2016-02-05 08:34
    关注

    You can do this now -

    $result_array = array();
    while($row = mysql_fetch_assoc($result))
    {
        $temp= explode(',', $row['path']); // explode by ,
        if(count($temp) > 1) { // More than one element then assign
            $row['path']= $temp;
        } 
        $result_array[] = $row;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常