码迷,mamicode.com
首页 > 其他好文 > 详细

【技术宅6】把一个无限级分类循环成tree结构

时间:2014-09-21 20:51:11      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:style   io   os   ar   for   数据   sp   cti   on   


function list_to_tree($list,$root=0,$pk=‘cid‘,$pid = ‘pid‘,$child = ‘_child‘){

    if(is_array($list)) {

        // 创建基于主键的数组引用

        foreach ($list as $key => $data) {

            $refer[$data[$pk]] =& $list[$key];

        }

        foreach ($list as $key => $data) {

            // 判断是否存在parent

            $parentId = $data[$pid];

            if ($root == $parentId) {

                $tree[$list[$key][$pk]] =& $list[$key];

            }else{

                if (isset($refer[$parentId])) {

                    $parent =& $refer[$parentId];

                    $parent[$child][$list[$key][$pk]] =& $list[$key];

                }

            }

        }

    }

    return $tree;

}

  

  //链接数据库

       $con = mysql_connect("localhost", "root", "123456");

       if (!$con){

              die(‘Could not connect: ‘ . mysql_error());

       }

       //选择数据库

       $db_selected = mysql_select_db("newasf04",$con);

       //设置数据库编码

       mysql_query("set names ‘utf8‘");

       //sql语句

       $sql = "SELECT cid,pid,name from asf_mall_category";

       //执行sql语句

       $result = mysql_query($sql);

      

       //把查询结果放到一个数组中

       while ($row=mysql_fetch_assoc($result)){        

               $arr[]=$row;

       }    

       // 释放资源

       mysql_free_result($result);

       // 关闭连接

       mysql_close(); 

      

       $newarr=list_to_tree($arr);

       print_r($newarr);

      

【技术宅6】把一个无限级分类循环成tree结构

标签:style   io   os   ar   for   数据   sp   cti   on   

原文地址:http://www.cnblogs.com/zhuyibo/p/3984893.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!