首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从序列化的json更新mysql表?

如何从序列化的json更新mysql表?
EN

Stack Overflow用户
提问于 2013-05-10 09:54:14
回答 2查看 900关注 0票数 2

我已经从可嵌套的序列化了,但是我不知道如何编写php代码来更新我的数据库,比如wordpress

代码语言:javascript
运行
复制
$data = '[{"id":1},{"id":2,"children":[{"id":3},{"id":4},{"id":5,"children":[{"id":6},{"id":7},{"id":8}]},{"id":9},{"id":10}]},{"id":11},{"id":12}]';

function extract_value($value,$order=0){
        if(is_array($value)){
            foreach($value as $k => $v){
                echo "UPDATE vod_page_menu SET ordering = '$order', parent_id = '$v' WHERE id = '$v'; <br/>";
                extract_value($v,$order+1);
            }       
        }
    }
$json = json_decode($data,true);
extract_value($json);
EN

回答 2

Stack Overflow用户

发布于 2013-05-10 10:01:05

您需要首先解码JSON,然后才能在PHP中使用它:

代码语言:javascript
运行
复制
$data = json_decode($data, true);
foreach ($data as $id => $value) {
...
}
票数 0
EN

Stack Overflow用户

发布于 2013-05-11 02:55:00

代码语言:javascript
运行
复制
function extract_value($array,$parent=0,$i=1){


        foreach($array as $k => $v) {
            $id = $array[$k]['id'];

            echo "UPDATE vod_page_menu SET ordering = '$i', parent_id = '$parent' WHERE id = '$id'; <br/>";

            if(isset($array[$k]['children'])){

                $children = $array[$k]['children'];
                foreach($children as $key => $obj){
                    $child = $children[$key]['id'];

                    $i++;

                    echo "UPDATE vod_page_menu SET ordering = '$i', parent_id = '$id' WHERE id = '$child'; <br/>";

                    if(isset($children[$key]['children']))
                    extract_value($children[$key]['children'],$child,++$i);

                }

            }   
            $i++;               

        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16479599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档