Rumah >pembangunan bahagian belakang >tutorial php > 数据库分类查询有关问题

数据库分类查询有关问题

WBOY
WBOYasal
2016-06-13 12:59:36848semak imbas

数据库分类查询问题
有一个分类表,结构是这样的 
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 />

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn