Heim > php教程 > php手册 > php+mysql非递归方法实现无限级分类

php+mysql非递归方法实现无限级分类

WBOY
Freigeben: 2016-06-06 19:52:02
Original
1095 Leute haben es durchsucht

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 用php实现无限级的分类,用递归方法是最容易想到的,但递归很占用系统资源,所以一般情况不考虑使用递归, 本文通过非递归数据库的设计的来实现无限级分类 数据库结构如下: id 编号 fid 父分类编号 class

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

    用php实现无限级的分类,用递归方法是最容易想到的,但递归很占用系统资源,所以一般情况不考虑使用递归,

    本文通过非递归数据库的设计的来实现无限级分类

    数据库结构如下:

    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

    echo ' ';

    }

    echo $rows['class_name'].'
';

    }

    ?>

    其中$nbs是数据库操作类.

php+mysql非递归方法实现无限级分类

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage