ホームページ > php教程 > php手册 > php+mysql非递归方法实现无限级分类

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

WBOY
リリース: 2016-06-06 19:52:02
オリジナル
1094 人が閲覧しました

欢迎进入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非递归方法实现无限级分类

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート