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