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中常用数组处理方法实例分析
Aug 30 PHP
利用Memcached在php下实现session机制 替换PHP的原生session支持
Aug 21 PHP
php json_encode奇怪问题说明
Sep 27 PHP
php实现把数组按指定的个数分隔
Feb 17 PHP
PHP中Http协议post请求参数
Nov 02 PHP
php遍历解析xml字符串的方法
May 05 PHP
laravel5创建service provider和facade的方法详解
Jul 26 PHP
微信支付PHP SDK ―― 公众号支付代码详解
Sep 13 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
Oct 23 PHP
php命名空间设计思想、用法与缺点分析
Jul 17 PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 PHP
PHP基于openssl实现非对称加密代码实例
Jun 19 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日期函数date格式化UNIX时间的方法
2015/03/19 PHP
Laravel框架用户登陆身份验证实现方法详解
2017/09/14 PHP
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
详解PHP中的8个魔术常量
2020/07/06 PHP
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
Jquery通过Ajax访问XML数据的小例子
2013/11/18 Javascript
javascript计时器事件使用详解
2014/01/07 Javascript
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
详谈nodejs异步编程
2014/12/04 NodeJs
angularJS提交表单(form)
2015/02/09 Javascript
JS获取图片lowsrc属性的方法
2015/04/01 Javascript
超级给力的JavaScript的React框架入门教程
2015/07/02 Javascript
JQuery日期插件datepicker的使用方法
2016/03/03 Javascript
easyui window refresh 刷新两次的解决方法(推荐)
2016/05/18 Javascript
jquery日历插件e-calendar升级版
2016/11/10 Javascript
JS实现字符串去重及数组去重的方法示例
2018/04/21 Javascript
js+canvas实现验证码功能
2020/09/21 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
2018/01/23 Python
python实现转盘效果 python实现轮盘抽奖游戏
2019/01/22 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
2020/06/28 Python
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
美国礼品卡商城: Gift Card Mall
2017/08/25 全球购物
FitFlop美国官网:英国符合人体工学的鞋类品牌
2018/10/05 全球购物
德国最大的网上足球商店:11teamsports
2019/09/11 全球购物
什么是Remote Module
2016/06/10 面试题
营销专业应届生求职信
2013/11/26 职场文书
养殖人员的创业计划书范文
2013/12/26 职场文书
2014年高三毕业生自我评价
2014/01/11 职场文书
群众路线班子对照检查材料
2014/09/25 职场文书
小学教师年度个人总结
2015/02/05 职场文书
中学生清明节演讲稿
2015/03/18 职场文书
信访维稳承诺书
2015/05/04 职场文书