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 09 PHP
PHP获取用户的浏览器与操作系统信息的代码
Sep 04 PHP
ThinkPHP模板引擎之导入资源文件方法详解
Jun 18 PHP
配置php.ini实现PHP文件上传功能
Nov 27 PHP
php 删除cookie方法详解
Dec 01 PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 PHP
php实现用手机关闭计算机(电脑)的方法
Apr 22 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
PHP实现的超长文本分页显示功能示例
Jun 04 PHP
PHP实现的用户注册表单验证功能简单示例
Feb 25 PHP
php DES加密算法实例分析
Sep 18 PHP
关于Laravel参数验证的一些疑与惑
Nov 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
Yii扩展组件编写方法实例分析
2015/06/29 PHP
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
2008/11/03 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
2011/04/14 Javascript
浅谈Javascript事件处理程序的几种方式
2012/06/27 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
2013/11/08 Javascript
使用jQuery实现的掷色子游戏动画效果
2014/03/14 Javascript
javascript跨域的4种方法和原理详解
2014/04/08 Javascript
浅谈JavaScript字符集
2014/05/22 Javascript
详细分析JavaScript变量类型
2015/07/08 Javascript
Javascript控制div属性动态变化实例分析
2015/10/08 Javascript
Bootstrap每天必学之表单
2015/11/23 Javascript
JavaScript设计模式经典之命令模式
2016/02/24 Javascript
JavaScript代码生成PDF文件的方法
2016/02/26 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
Nodejs回调加超时限制两种实现方法
2017/06/09 NodeJs
jQuery使用ajax_动力节点Java学院整理
2017/07/05 jQuery
微信小程序实现滚动消息通知
2018/02/02 Javascript
回顾Javascript React基础
2019/06/15 Javascript
vue ssr服务端渲染(小白解惑)
2019/11/10 Javascript
javaScript中indexOf用法技巧
2019/11/26 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
2020/03/06 Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
2020/04/27 Javascript
Python 3.x 安装opencv+opencv_contrib的操作方法
2018/04/02 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
virtualenv 指定 python 解释器的版本方法
2018/10/25 Python
python实现LRU热点缓存及原理
2019/10/29 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
怎么解决pycharm license Acti的方法
2020/10/28 Python
详解HTML5中的标签
2015/06/19 HTML / CSS
德国家具折扣店:POCO
2020/02/28 全球购物
医学生个人求职信范文
2013/09/24 职场文书
机关党员2014全国两会学习心得体会
2014/03/10 职场文书
优秀学生党员先进事迹材料
2014/05/29 职场文书
创业计划书之小型广告公司
2019/10/22 职场文书