`
xuebingnanmm
  • 浏览: 176483 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

php+mysql无限级分类(非递归)

    博客分类:
  • PHP
阅读更多

php+mysql无限级分类(非递归)
要实现无限级分类,递归一般是第一个也是最容易想到的,但是递归一般被认为占用资源的方法,所以很多系统是不考虑使用递归的
本文还是通过数据库的设计,用一句sql语句实现
数据库字段大概如下:
-----------------------------------------------------------------------------------
id 编号
fid 父分类编号
class_name 分类名
path 分类路径,以 id 为节点,组成类似 ,1,2,3,4, 这样的字符串
----------------------------------------------------------------------------------

可以假设有如下的数据

id fid class_name path
----------------------------------------------------
1  0       分类1 ,       1,
2  0       分类2 ,       2,
3  1       分类1-1 ,    1,3,
4  1       分类1-2 ,    1,4,
5  2       分类2-1 ,    2,5,
6  4       分类1-2-1 , 1,4,6,
----------------------------------------------------


<?php     
$sql="SELECT * FROM tree order by path";   
$result=$nbs->Query($sql);   
while($rows=$nbs->fetch_array($result)){   
    if(substr_count($rows['path'],',')>2){   
        for($i=0;$i<(substr_count($rows['path'],',')-2);$i++)   
            echo ' ';   
    }   
    echo $rows['class_name'].'<br>';   
}   
?>   

其中$nbs是数据库操作类,此方法简单明了!

分享到:
评论
2 楼 baiyuxiong 2010-11-29  
scgywx 写道
好想法。。。有前途。

这种做法,不能为分类排序
1 楼 scgywx 2010-05-17  
好想法。。。有前途。

相关推荐

    php无限级分类 无限级分类

    在PHP中,有两种常见的无限级分类实现方式:递归和非递归(如使用路径法、栈或队列)。 1. **递归方法**: 使用递归函数,遍历所有分类,每次遇到子分类,就将当前分类作为父分类,继续查询。在PHP中,递归函数...

    php+mysql不用递归实现的无限级分类实例(非递归)

    在本文中,将介绍如何使用PHP和MySQL实现无限级分类,而不采用递归的方式。递归虽然实现简单,但资源消耗较大,在很多实际应用中并不推荐使用。通过本文提供的实例,可以了解如何利用数据库设计和SQL查询来达到相同...

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

    这种递归方法虽然直观且易于理解,但效率可能不如非递归方法,特别是当分类层次极深时。非递归方法通常利用栈或队列数据结构来避免重复的函数调用,减少内存开销和提高性能。不过,对于中小型数据集,递归方法通常是...

    php 无极分类(递归)实现代码

    在PHP编程中,无极分类(也称为无限级分类)是一种常见的需求,特别是在处理具有层级关系的数据时,如网站导航菜单、文章分类等。这里提到的代码示例展示了如何使用递归方法在PHP中实现一个无极分类的功能,具体涉及...

    PHP树结构,实现无限分级

    总结来说,PHP实现无限级分类树形结构主要依赖于递归或非递归方法,通过构建节点间的父子关系来形成层级结构。理解这种数据结构对于处理需要展示层次关系的场景至关重要,例如网站导航、文件目录管理等。在实际项目...

    无限级分销系统查自己上级、下级之多叉树实现关系速查

    本文将详细介绍如何利用多叉树模型以及MySQL数据库来实现无限级分销系统中的关系查询。 #### 多叉树模型介绍 多叉树是一种非线性数据结构,每个节点可以拥有多个子节点。在无限级分销系统中,每个用户都可以有多个...

    PHP 无限分类三种方式 非函数的递归调用!

     1、数据库通过设置父类ID来进行唯一索引,然后使用函数的递归调用实现无限分类;  2、数据库设计通过特定格式进行排列,然后使用mysql查询关键函数:concat。程序实现比较简单;  3、第三种不是太了解, 好像要...

    php无限分类方法类.zip

    &lt;?PHP ... charset=utf-8");   $link = mysql_connect('localhost','root','eric') or die(mysql_error());... }这是一个PHP无限级分裂的实现库,有递归 非递归俩种方法。需要的朋友可以下载使用。

    腾讯PHP开发工程师笔试试卷

    阻塞模式等待消息,非阻塞模式可能返回错误。 7. Apache MPM机制: 包括Prefork、Worker、Event等,配置文件调整MPM以适应PHP。 8. PHP在Apache的运行方式: 有mod_php、FastCGI、SSI等,FastCGI通过`php-fpm`...

Global site tag (gtag.js) - Google Analytics