doucaigai7176 2014-02-25 08:50
浏览 100

使用mysql获取结果构建json

hello i want to use my mysql result to build the json objects. my first query is fetching parent menu and another query is fetching child menu so i am going to put my child menu result under the parent menu.. i want to know what is wrong with my code and how to correct

<?php
    $selectparentMenu=mysql_query("SELECT `id`,`item_name`,`menu_type`,`parent` FROM `epic_master_menu` where parent=0");
    //echo $myfetch=mysql_fetch_array($selectMenu);
        if(mysql_num_rows($selectparentMenu)>1) {
    while($fetchparentMenu=mysql_fetch_array($selectparentMenu)) {
         //echo 'parent id is' .$parentId=$fetchparentMenu['id']. '<br/>';
        // echo 'parent name is' .$parentId=$fetchparentMenu['item_name']. '<br/>';


         $selectchildMenu=mysql_query("SELECT `id` , `item_name` , `menu_type` , `parent` FROM `epic_master_menu`
    WHERE parent >0 AND `menu_type` = 'item' AND `parent` ='".$fetchparentMenu['id']."'");
    if(mysql_num_rows($selectchildMenu)>1) {
         while($fetchchildMenu=mysql_fetch_array($selectchildMenu)) {

             $textjson = '{
    "dataSource": [{
            "id": "", "text": "Select All", "expanded": "true", "spriteCssClass": "rootfolder", "items": [
                {
                    "id": "'.$fetchparentMenu["id"].'", "text": "'.$fetchparentMenu["item_name"].'", "expanded": true,"spriteCssClass": "folder", "items": [
                        { "id": "'.$fetchchildMenu["id"].'", "text": "'.$fetchparentMenu["item_name"].'", "spriteCssClass": "html" },
                        { "id": "'.$fetchchildMenu["id"].'", "text": "'.$fetchparentMenu["item_name"].'", "spriteCssClass": "html" },
                        { "id": "'.$fetchchildMenu["id"].'", "text": "'.$fetchparentMenu["item_name"].'", "spriteCssClass": "image" }
                    ]
                }
            ]
        }]
    }';

             }  }

         /* $fetchMenu['item_name'];
           $fetchMenu['menu_type'];
           $fetchMenu['parent'];*/
        //print_r($fetchMenu);
        } }

// my json data is

 $textjson = '{
"dataSource": [{
        "id": 1, "text": "My Documents", "expanded": "true", "spriteCssClass": "rootfolder", "items": [
            {
                "id": 2, "text": "Project", "expanded": true,"spriteCssClass": "folder", "items": [
                    { "id": 3, "text": "about.html", "spriteCssClass": "html" },
                    { "id": 4, "text": "index.html", "spriteCssClass": "html" },
                    { "id": 5, "text": "logo.png", "spriteCssClass": "image" }
                ]
            },
            {
                "id": 6, "text": "New Web Site", "expanded": true, "spriteCssClass": "folder", "items": [
                    { "id": 7, "text": "mockup.jpg", "spriteCssClass": "image" },
                    { "id": 8, "text": "Research.pdf", "spriteCssClass": "pdf" }
                ]
            },
            {
                "id": 9, "text": "Reports", "expanded": true, "spriteCssClass": "folder", "items": [
                    { "id": 10, "text": "February.pdf", "spriteCssClass": "pdf" },
                    { "id": 11, "text": "March.pdf", "spriteCssClass": "pdf" },
                    { "id": 12, "text": "April.pdf", "spriteCssClass": "pdf" }
                ]
            }
        ]
    }]
}';
  • 写回答

2条回答 默认 最新

  • douwenpin0428 2014-02-25 08:53
    关注

    Instead of creating your own version.. you could simply make use of json_encode()

    while($fetchchildMenu=mysql_fetch_array($selectchildMenu))
     {
          $somearr[]=$fetchchildMenu;
     }
    
    $jsonData = json_encode($somearr);
    echo $jsonData; //<---- Prints your JSON data
    
    评论

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度