douzao2992 2013-06-09 15:11
浏览 53

如何从多个类似的行mysql结果创建一个复杂的结构化json

One festival has many stages. Multiple artists play at one stage.

Here is my Mysql result :

mysqlresult

With that sql request, I'd like to create a json object with the following structure in PHP :

{
    "name": "mainstage",
    "artists": [
        {
            "name": "Gregori Klosman"
        },
        {
            "name": "Tristan Garner"
        }, 
        {
            "name": "Glow In The Dark"
        }, 
        {
            "name": "Jaxx Da Fishworks"
        }]
}, 
{
    "name": "Dim Mak",
    "artists" : [
        {
            "name": "Albin Myers"
        }
     ]
}

I tried to do that with the following script but the structure is slightly different as I have an ID to identify the stage.

$stages = array();
while($result_stages = $query_stages -> fetch()) {
    $artist = array("name" => $result_stages["artist_name"]);
    array_push($stages[$result_stages["stage_id"]]["artists"], $artist);
}

echo json_encode($stages);

Any ideas ? I could make it with multiple mysql requests and php loops but I feel this is not the most proper way to do that. Thanks for your answer!

  • 写回答

1条回答 默认 最新

  • dongzhuange2625 2013-06-09 17:02
    关注

    My have tried like this ...

    $sql="select stage_name from [table_name] group by stage_name";
    $result=mysql_query($sql);
    $arr = array();
    $i=0;
    while($row=mysql_fetch_array($result))
    {
        $arr[$i]['name']=$row[0];
        $sql2="select artist_name from [table_name] where stage_name='".$row[0]."'";
        $result2=mysql_query($sql2);
        $arr2=array();
        while($row2=mysql_fetch_array($result2))
        {
          array_push($arr2,$row2[0]);
        }
     $arr[$i]['artist'] = $arr2;
     $i++;
    }
     echo json_encode($arr); 
    
    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值