資料庫分類查詢問題
有一個分類表,結構是這樣的
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分組排序
SELECT * from good
ORDER BY series
------解決方案--------------------
static function GetTree($depth, $parentID, $nodeID)
{
$str = "";
$nodes = D_node::GetListAll("where parentid=" . $parentID . "", "orderflag desc");
if (count($nodes) > 0) {
foreach ($nodes as $node) {
$str .= self::GetPrefixString($depth) . $node->nodename;
$str .= self::GetTree($depth + 1, $node->id, $nodeID);
}
}
return $str;
}
static function GetPrefixString($depth)
{
$str = "--";
for ($i = 0; $i < $depth; $i++) {
$str .= "--";
}
return $str;
}