php 无限级分类函数

 

ar=array(0=>array('name'=>'食物','id'=>1,'pid'=>0), 

02               1=>array('name'=>'植物','id'=>2,'pid'=>0), 

03               3=>array('name'=>'白菜','id'=>3,'pid'=>1), 

04               4=>array('name'=>'树','id'=>4,'pid'=>2), 

05               5=>array('name'=>'苹果','id'=>5,'pid'=>3), 

06               6=>array('name'=>'松树','id'=>6,'pid'=>4), 

07               7=>array('name'=>'饮料','id'=>7,'pid'=>1), 

08               8=>array('name'=>'测试1','id'=>8,'pid'=>7), 

09               9=>array('name'=>'测试2','id'=>9,'pid'=>8), 

10               10=>array('name'=>'人民','id'=>10,'pid'=>9), 

11               11=>array('name'=>'小米','id'=>11,'pid'=>0), 

12               ); 

13   

14         echo '<table border="1" width="100%">'; 

15         tre($ar,0); 

16         echo '</table>'; 

17   

18         function tre($tree,$id) 

19         { 

20                 $str = ''; 

21                 $strid = ''; 

22                 foreach ($tree as $key => $item) 

23                 { 

24                         if ($item['pid'] == $id) { 

25                                 $i = 0; 

26                                 $i = sonNum($tree,$item['id']); 

27                                 if ($i == 1 || $i == 0) { 

28                                         echo '<tr><td>'; 

29                                 } else { 

30                                         echo '<tr><td rowspan="'.$i.'">';         

31                                 } 

32                                 //echo '<tr><td>'; 

33                                 echo $item['name']; 

34                                 echo '</td></tr>'; 

35                                 tre($tree,$item['id']); 

36                         } 

37                 } 

38                 //tre($tree,$strid); 

39         } 

40           

41         function sonNum($tre,$sum,$totale=1) 

42         { 

43                 foreach ($tre as $key => $value) 

44                 { 

45                         if ($value['pid'] == $sum){ 

46                                 $totale += sonNum($tre,$value['id'],1); 

47                         } 

48                 } 

49                 return $totale; 

50         }

时间: 2024-09-29 01:26:12

php 无限级分类函数的相关文章

PHP无限级分类方法及代码

无论你要构建自己的论坛,在你的网站上发布消息还是书写自己的CMS程序,你都会遇到要在数据库中存储层次数据的情况.同时,除非你使用一种像XML的数据库,否则关系数据库中的表都不是层次结构的,他们只是一个平坦的列表.所以你必须找到一种把层次数据库转化的方法. 存储树形结构是一个很常见的问题,他有好几种解决方案.主要有两种方法:邻接列表模型和改进前序遍历树算法 在本文中,我们将探讨这两种保存层次数据的方法.我将举一个在线食品店树形图的例子.这个食品店通过类别.颜色和品种来组织食品.树形图如下: 本文包

解析PHP无限级分类方法及代码_php技巧

无论你要构建自己的论坛,在你的网站上发布消息还是书写自己的CMS程序,你都会遇到要在数据库中存储层次数据的情况.同时,除非你使用一种像XML的数据库,否则关系数据库中的表都不是层次结构的,他们只是一个平坦的列表.所以你必须找到一种把层次数据库转化的方法. 存储树形结构是一个很常见的问题,他有好几种解决方案.主要有两种方法:邻接列表模型和改进前序遍历树算法 在本文中,我们将探讨这两种保存层次数据的方法.我将举一个在线食品店树形图的例子.这个食品店通过类别.颜色和品种来组织食品.树形图如下: 本文包

ASP 无限级分类实现_应用技巧

ASP递归无限级分类函数 复制代码 代码如下: <% '函数:getCatagory '功能:获得分类列表 '参数:cat_arr -> 分类数组(Rscordset:id:分类编号,pid:上级分类,classname:分类名称,childs:子分类) ' 按此输出些sql语句,用getRows获取得到的数据 ' cat_pid -> 上级分类编号 ' cat_childs -> 下级分类编号 ' cat_select -> 选择的分类 ' cat_dir -> 分类

ASP 无限级分类实现

ASP递归无限级分类函数 复制代码 代码如下: <% '函数:getCatagory '功能:获得分类列表 '参数:cat_arr -> 分类数组(Rscordset:id:分类编号,pid:上级分类,classname:分类名称,childs:子分类) ' 按此输出些sql语句,用getRows获取得到的数据 ' cat_pid -> 上级分类编号 ' cat_childs -> 下级分类编号 ' cat_select -> 选择的分类 ' cat_dir -> 分类

PHP无限分级数据实现程序代码

先看一个php与mysql数据库的无限分类 建立数据库 : id,fid,fname(id和fid都必需是数字类型而且fid的默认值一定要设成0;  代码如下 复制代码 <?php $stime=microtime(); $db=@mysql_connect("localhost","root","micronsky.net")   or die("数据库连接失入"); mysql_select_db("tem

php无限邮件发送类函数

用的mail()函数,感觉不好用,而且感觉这个邮件地址不能太多,一次copy了100个可能会出问题,下面提供一款可以限制发送邮件php类函数. */  代码如下 复制代码 class sendmail{     function __construct(){         $this->set();         $this->auth = 1;     }     function set($server=yj_sysmail_smtp,$user="",$passw

Win7更新微软官方补丁后无限重启问题

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   在4月份的"Patch Tuesday"那天,微软发布了一个Windows 7的KB2823324安全更新(针对Win7的文件系统内核模式驱动),但某些用户却遭遇了要命的无限重启故障.这份报告来自巴西的Win7 x86用户,有人安装了这个更新,电脑却陷入了无限重启的境况.尽管这个问题似乎仅影响到了巴西的用户,但它也有可能会影响到其它地区. 庆

实现UIView的无限旋转动画(非CALayer动画)

实现UIView的无限旋转动画(非CALayer动画) 效果: 素材: 源码: // // ViewController.m // Animation // // Created by YouXianMing on 15/2/5. // Copyright (c) 2015年 YouXianMing. All rights reserved. // #import "ViewController.h" @interface ViewController () @property (no

c语言-为什么链表会无限循环输出??

问题描述 为什么链表会无限循环输出?? #include<stdio.h> #include<stdlib.h>//含malloc.h #define LEN sizeof( Faction) //一元多项式结构体 typedef struct Faction{ int coefficient;//系数 int exponent;//指数 struct Faction *next; }Faction; //创建链表 Faction *creat() { Faction *head,