PHP无限分类实例程序_PHP教程
例1
代码如下 | 复制代码 |
$yArr = array( |
注:因为是无限次的调用,所以我加了个判断,在层级$level=10的时候让他跳出。没有哪个正常网站会放超过10层的
目录结构吧。
执行到static变量后,判断下当前层级,如果层级为0,那么表示这是*菜单,需要清空$arrcate的数据重新声明
例2
代码如下 | 复制代码 |
//我们建一个表"class" |
代码
代码如下 | 复制代码 |
header("Content-type:text/html;charset=utf-8"); $db=new mysqli("localhost","root","","news_php100") ; if(mysqli_connect_errno()){ echo "链接失败:".mysqli_connect_error(); exit(); } $db->query("set names utf8"); $result=$db->query("select name from class where f_id=0"); while($row=$result->fetch_assoc()){ echo $row['name'].""; //这样就把每个大类循环出来了。 } //同样我们可以把新闻的子类循环出来。 $result=$db->query("select * from class where f_id=1"); while($row=$result->fetch_assoc()){ echo $row['name']." "; //这样就把‘新闻’的子类循环出来了。注意:只是子类,不包括孙子类。 } |
//写到这里,我们会发现一个问题,如果这个分类是10级分类,难道我们要写
10个循环把它每个子类循环出来?如果是更多级分类呢,这样写显然是不现实的。
//那又有什么办法解决呢?我们可以写一个递归的函数,把f_id作为参数传入,
不断循环每一个f_id的值,也就是说把每一个f_id值的子类循环出来。
//首先我们把各个分类的值保存在一个二维数组中,在下面的递归函数里有用。
代码如下 | 复制代码 |
$result=$db->query("select * from class"); while($row=$result->fetch_assoc()){ $arr[]=array($row[id],$row[f_id],$row[name]); //每一行保存一个 } function fenlei($f_id=0){ //$f_id初始化为0,也就是从最大分类开始循环. global $arr; //声明$arr为全局变量才可在函数里引用。 for($i=0;$i if($arr[$i][1]==$f_id){ //$arr[$i][1]表示第$i+1个分类的f_id的值。 echo $arr[$i][2].""; //$arr[$i][1]表示第$i+1个分类的name的值。 fenlei($arr[$i][0]); //$arr[$i][1]表示第$i+1个分类的id的值。进行递归 } } } fenlei(); //使用这个函数. |
?>
例3
php无限分类, 支持输出树状图
代码如下 | 复制代码 |
/** /** /** /** /** /** /**
("$nstr = "$str";"); $selected = $this->have($sid,$id) ? 'selected' : ''; function have($list,$item){ |
注:无平台限制,只需要告知id,parentid,name 即可
上面总结了三种无限分类代码都没有平台限制哦,不过只能使用在php中,我们只要搞清楚id,parentid,name三者的关
系即可。
上一篇: Android设计模式之MVP
下一篇: 基于ThinkPHP用户行为记录
推荐阅读
-
使用php_screw加密PHP程序实例详解
-
ThinkPHP验证码使用简明教程_php实例
-
php实现无限级分类查询(递归、非递归),分类查询递归_PHP教程
-
PHP+shell脚本操作Memcached和Apache Status的实例分享,memcachedapache_PHP教程
-
thinkphp实现like模糊查询实例,thinkphp模糊查询_PHP教程
-
一个非常精彩的日历程序_PHP教程
-
PHP+MYSQL会员系统的开发实例教程,mysql实例教程
-
php+mysql实现数据库随机重排实例,phpmysql重排实例_PHP教程
-
PHP数组操作类实例,php数组实例_PHP教程
-
php生成百度sitemap站点地图类函数实例,sitemap站点地图_PHP教程