Heim >php教程 >php手册 >PHP无限级分类

PHP无限级分类

WBOY
WBOYOriginal
2016-05-25 16:43:052627Durchsuche

首先要设计数据库,需要建一个表,里面存储分类信息,至少需要3个字段,第一个是主键(id),第二个是父级分类id(parentid),第三个是分类的名称(classname),可能的一种效果是:

id  parentid  classname 
    1    0          一级分类a 
    2    0          一级分类b 
    3    1          二级分类a 
    4    1          二级分类b

主要思路:首先看第三行和第四行,父类id(parentid)的值是1,表示属于id=1这个类的子类,而一,二两行因为是一级分类,没有上级分类,所以父类id(parentid)的值是0,表示初级分类,依次类推便实现了无限级分类,最终的效果是:

级分类a

二级分类a

二级分类b

级分类b

然后就是程序,这里以php教程作为描述语言,可以很方便的改成其他语言,因为原理相似,就是一个递归而已,php实例代码如下:

<?php 
$dbhost = "localhost";   // 数据库主机名 
$dbuser = "root";   // 数据库用户名 
$dbpd = "123456";   // 数据库密码 
$dbname = "test";   // 数据库名 
mysql_connect($dbhost,$dbuser,$dbpd);       //连接主机 
mysql_select_db($dbname);       //选择数据库 
mysql_query("set names &#39;utf8&#39;"); 
display_tree("├",0); 
function display_tree($tag,$classid) { 
    $result = mysql_query(" 
        select * 
        from ylmf_class 
        where parentid = &#39;" . $classid . "&#39; 
        ;" 
    );
    while ($row = mysql_fetch_array($result)) { 
        // 缩进显示节点名称 
    echo $tag.$row[&#39;classname&#39;] . "<br/>"; 
        //再次调用这个函数显示子节点的子节点 
    display_tree($tag."─┴",$row[&#39;id&#39;]); 
    } 
}


本文地址:

转载随意,但请附上文章地址:-)

Stellungnahme:
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