第一篇的博客文章
2007-04-19 15:06
267 查看
呵呵.终于学识点用博客啦.以后得闲要写多D文章先得,寻前日开始要写个根据parent_id,inventory_id,inventory_id的mysql查询结果中,生成一个目录树,写佐一日,终于搅点. 需要数据格式为:字段parent_id,inventory_id,并且已经好排序既. /* * write fot Yama */ 主要函数系甘既: //将数据结果转化为数组 function result_to_array($result){ $result_array = array(); while($record = mysql_fetch_array($result,MYSQL_NUM)){ $result_array[sizeof($result_array)] = $record; } return $result_array; } //查找当前目录是否含有子录目 function has_sub_inventory($result_array,$curr_inventory_id){ $subtree = array(); foreach($result_array as $subarray){ if($subarray[0] == $curr_inventory_id){ $subtree[sizeof($subtree)] = $subarray; } } return $subtree; } //用递归查找目录,并生成目录树数组 function search_inventory_for_recursion($result_array,$curr_inventory_id = 0,$invent_class = 0){ static $fulltree = array(); if(!($subinventory = has_sub_inventory($result_array,$curr_inventory_id))){ return false; }else{ $invent_class++; foreach($subinventory as $sub){ $sub[sizeof($sub)] = $invent_class; $fulltree[sizeof($fulltree)] = $sub; search_inventory_for_recursion($result_array,$sub[1],$invent_class); } } if($curr_inventory_id == 0){ return $fulltree; } } 调用时就系甘: sql = "select parent_id,inventory_id,inventory_name from table order by parent_id,inventory_id asc"; $inventory_info = mysql_query($query); //turn to array $inventory_info_array = result_to_array($inventory_info); $result_array= search_inventory_for_recursion($inventory_info_array);//array turn to tree array 最后就会生成结果数组例: parent_id inventory_id inventory_name 0 1 a 0 3 b 0 4 c 3 5 d 5 78 e 转换之后: 0 1 a 1(1表示为根目录) 0 3 b 1 3 5 d 2(2表示为2级目录) 5 78 e 3 0 4 c 1 完.... 算法还是比较粗糙,希望同志们再修改一下. 下次见
相关文章推荐
- 开通博客第一篇文章
- 这是我的第一篇技术博客文章
- 我的第一篇博客文章
- CSDN的第一篇文章(收藏几个eoe社区的大神博客)
- 第一篇博客文章
- 博客的第一篇文章
- 嘿,程序员——我的第一篇博客文章
- 为新博客写的第一篇文章
- 大家好,这里是第一篇博客文章!
- CY第一篇测试博客文章
- 建立博客第一篇技术文章——奋斗
- 我的第一篇CSDN博客文章,Python代码实现矩阵翻转
- 博客的第一篇文章
- 我的博客的第一篇文章——我喜欢的咖啡杯
- 发第一篇文章...从今天开始充实这个博客
- 我的第一个博客第一篇文章!!!!!!
- 博客专栏第一篇文章——我眼里的DBA
- 庆祝本博客第一篇推荐文章!
- 开博客第一篇文章
- 我的第一篇博客文章