php+mysql实现无限级分类 | 树型显示分类关系


Posted in PHP onNovember 19, 2006

无限级分类,主要是通过储存上级分类的id以及分类路径来实现。由于数据的结构简单,所以要将分类的关系由树状显示,我只能想到用递归的方式给于实现。 

无限级分类,主要是通过储存上级分类的id以及分类路径来实现。由于数据的结构简单,所以要将分类的关系由树状显示,我只能想到用递归的方式给于实现,下面是分类数据表结构和自己写的一个树状显示函数,有什么不妥的地方希望大家能指出。 
表结构:id字段为分类标识,name字段为分类名,father_id字段为所属父分类的id,path字段为分类路径(储存该分类祖先的集合),isdir判断是否是目录(1为是,0为否)。

显示函数:

//$count为分类等级  
sort_list($str,$fatherid,$count)  
{  
$rs = $this->sql->re_datas("select * from sort where father_id = fatherid");  
$num = $this->sql->sql_numrows();  
$i=0;  
$n = 1;  
while(isset($rs[$i]))  
{  
$name = "";  
for($n = 1 ; $n < $count ; $n++)  
{  
$name.="│ ";  
}  
if($i+1==$num)  
{  
$name.="└─".$rs[$i][name];  
}  
else  
{  
$name.="├─".$rs[$i][name];  
}  
if($rs[$i][isdir])  
{  
$str.="<span style='color:#CCCCCC'>".$name."</span>";  
}  
else  
{  
$str.=$name";  
}  
$temp = $count+1;  
$str = $this->sort_list($str,$rs[$i][id],$temp);  
$i++;  
}  
return $str;  
} 

其中$this->sql对象为sql操作类对象,re_datas()函数返回查到的数组,sql_numrows()函数返回查询到的数目

调用方法:$sort_list = sort_list($sort_list,0,1);

以上为个人思想,还望大家多多指点

PHP 相关文章推荐
PHP静态新闻列表自动生成代码
Jun 14 PHP
php5 图片验证码实现代码
Dec 11 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
Jan 27 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
Feb 21 PHP
php简单实现屏蔽指定ip段用户的访问
Apr 29 PHP
深入php内核之php in array
Nov 10 PHP
thinkPHP导出csv文件及用表格输出excel的方法
Dec 30 PHP
php发送http请求的常用方法分析
Nov 08 PHP
PHP基于回溯算法解决n皇后问题的方法示例
Nov 07 PHP
PHP数组式访问接口ArrayAccess用法分析
Dec 28 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
May 13 PHP
Referer原理与图片防盗链实现方法详解
Jul 03 PHP
PHP生成静态页面详解
Nov 19 #PHP
smarty实例教程
Nov 19 #PHP
PHP编程中八种常见的文件操作方式
Nov 19 #PHP
PHP初学入门
Nov 19 #PHP
PHP5新特性: 更加面向对象化的PHP
Nov 18 #PHP
Windows中安装Apache2和PHP4权威指南
Nov 18 #PHP
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
Nov 18 #PHP
You might like
十天学会php之第五天
2006/10/09 PHP
php中实现简单的ACL 完结篇
2011/09/07 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
javascript中最常用的继承模式 组合继承
2010/08/12 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
基于jquery实现控制经纬度显示地图与卫星
2013/05/20 Javascript
JavaScript实现打字效果的方法
2015/07/10 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
2016/11/12 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
基于JavaScript表单脚本(详解)
2017/10/18 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
2020/01/22 Javascript
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
[04:51]TI10典藏宝瓶Ⅱ外观视频展示
2020/08/15 DOTA
Python写的Socks5协议代理服务器
2014/08/06 Python
python通过pil将图片转换成黑白效果的方法
2015/03/16 Python
利用Python爬取可用的代理IP
2016/08/18 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
2018/06/13 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
2019/04/12 Python
python实现人机猜拳小游戏
2020/02/03 Python
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
eBay奥地利站:eBay.at
2019/07/24 全球购物
实现strstr功能,即在父串中寻找子串首次出现的位置
2016/08/05 面试题
实习教师个人的自我评价
2013/11/08 职场文书
在校大学生个人的自我评价
2014/02/13 职场文书
2014年社区植树节活动方案
2014/02/28 职场文书
公司员工安全协议书
2014/11/21 职场文书
地陪导游欢迎词
2015/01/26 职场文书
异地恋情人节寄语
2015/02/28 职场文书
张丽莉观后感
2015/06/16 职场文书
2015秋季幼儿园开学通知
2015/07/16 职场文书
2016年校长新年寄语
2015/08/17 职场文书
聊聊Python String型列表求最值的问题
2022/01/18 Python