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 动态多文件上传
Jan 18 PHP
PHP JSON格式数据交互实例代码详解
Jan 13 PHP
提高define性能的php扩展hidef的安装和使用
Jun 14 PHP
php新建文件自动编号的思路与实现
Jun 27 PHP
PHP函数实现分页含文本分页和数字分页
Oct 23 PHP
php的sso单点登录实现方法
Jan 08 PHP
使用PHP uniqid函数生成唯一ID
Nov 18 PHP
yii使用activeFileField控件实现上传文件与图片的方法
Dec 28 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
Jan 04 PHP
Yii核心验证器api详解
Nov 23 PHP
PHP处理bmp格式图片的方法分析
Jul 04 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 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面向对象分析设计的61条军规小结
2010/07/17 PHP
php通过rmdir删除目录的简单用法
2015/03/18 PHP
PHP Hash算法:Times33算法代码实例
2015/05/13 PHP
Javascript 对象的解释
2008/11/24 Javascript
js获取图片大小的函数代码
2011/09/20 Javascript
jQuery bxCarousel实现图片滚动切换效果示例代码
2013/05/15 Javascript
js返回前一页刷新本页重载页面
2014/07/29 Javascript
使用script的src实现跨域和类似ajax效果
2014/11/10 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
javascript定时器完整实例
2015/02/10 Javascript
JS实现往下不断流动网页背景的方法
2015/02/27 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
使用javascript插入样式
2016/03/14 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
2016/10/27 Javascript
Bootstrap页面标题Page Header的实现方法
2017/03/22 Javascript
详解小程序用户登录状态检查与更新实例
2019/05/15 Javascript
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
2019/06/14 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
2019/07/25 Javascript
webpack优化之代码分割与公共代码提取详解
2019/11/22 Javascript
微信小程序实现列表滚动头部吸顶的示例代码
2020/07/12 Javascript
JS可断点续传文件上传实现代码解析
2020/07/30 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
Python实现Logger打印功能的方法详解
2017/09/01 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
python日志模块logbook使用方法
2019/09/19 Python
佳能德国网上商店:Canon德国
2017/03/18 全球购物
综合实践活动方案
2014/02/14 职场文书
《藤野先生》教学反思
2014/02/19 职场文书
保密普查工作实施方案
2014/02/25 职场文书
献爱心倡议书
2014/04/14 职场文书
校庆口号
2014/06/20 职场文书
八达岭长城导游词
2015/01/30 职场文书
会计主管岗位职责
2015/04/02 职场文书
校友会致辞
2015/07/30 职场文书
2016国庆节67周年红领巾广播稿
2015/12/18 职场文书
python爬虫--selenium模块
2021/03/31 Python