Heim >Backend-Entwicklung >PHP-Tutorial > 数据库分类查询有关问题

数据库分类查询有关问题

WBOY
WBOYOriginal
2016-06-13 12:59:36850Durchsuche

数据库分类查询问题
有一个分类表,结构是这样的 
id     name     father     categoryorder
1       A         0              
2       B         0              
3      A.1        1
4      A.2        1
5      A.1.a      3
6      A.1.b      3
7      B.1        2

categoryorder我想用于分类的排序,想实现把分类以树形显示的功能,categoryorder应该怎么设计?
A
--A.1
----A.1.a
----A.1.b
--A.2
B
--B.1
在PHP上应该怎么实现?
------解决方案--------------------
LZ如果你的"分类表"是数据库表,你应该考虑现在SQL做处理。
按你的思路,你可以建一个字段叫"系列"之类的 根据这个系列用order by分组排序

<br />
SELECT * from good<br />
ORDER BY series<br />


------解决方案--------------------
<br />
<br />
static function GetTree($depth, $parentID, $nodeID)<br />
    {<br />
<br />
        $str = "";<br />
        $nodes = D_node::GetListAll("where parentid=" . $parentID . "", "orderflag desc");<br />
        if (count($nodes) > 0) {<br />
            foreach ($nodes as $node) {<br />
                $str .= self::GetPrefixString($depth) . $node->nodename;<br />
                $str .= self::GetTree($depth + 1, $node->id, $nodeID);<br />
            }<br />
        }<br />
<br />
<br />
        return $str;<br />
    }<br />
    static function GetPrefixString($depth)<br />
    {<br />
<br />
        $str = "--";<br />
        for ($i = 0; $i < $depth; $i++) {<br />
            $str .= "--";<br />
<br />
        }<br />
        return $str;<br />
    }<br />

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