如何列出类别和无限深度的类别?

时间:2015-12-12 10:58:52

标签: php mysqli

我的 mysqli 课程就在这里。 https://github.com/joshcam/PHP-MySQLi-Database-Class

我创建了类别表格,如:

enter image description here

一些注释。

如果行cat_parent == 0则表示顶级类别。

此外,cat_status == 0该项目必须在树中。

现在,我想将它们列为类别树吗? 或者想要在深度选择框中使用。

请有人给我一个例子。

也试过这个建议http://forums.codewalkers.com/php-coding-7/unlimited-infinite-levels-depths-of-categories-with-php-and-mysql-1087307.html,但有人说这是最糟糕的编码。

谢谢。

1 个答案:

答案 0 :(得分:0)

我已经完成了。

结果如下。

function __getCats($cat_parent=0) {
    global $db;
    $cats = $db->get('categories');
    if ($cats>0) {
        $list_items = array();
        foreach ( $cats as $cat )
        {
            if ( ( int ) $cat['cat_parent'] !== ( int ) $cat_parent )
            {
                continue;
            }
            $list_items[] = '<li>';
            $list_items[] = '<a href="#' . $cat['id'] . '">';
            $list_items[] = $cat['cat_name'];
            $list_items[] = '</a>';
            $list_items[] = __getCats( $cat['id'] );
            $list_items[] = '</li>';

        }
        $list_items = implode( '', $list_items );
        if ( '' == trim( $list_items ) )
        {
            return '';
        }
        return '<ul>' . $list_items . '</ul>';
    }
}