数据库分类查询有关问题
程序员文章站
2022-06-07 14:02:23
...
数据库分类查询问题
有一个分类表,结构是这样的
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分组排序
------解决方案--------------------
有一个分类表,结构是这样的
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 $str .= "--";
}
return $str;
}
相关文章
相关视频
下一篇: 如何实现定时下载功能
推荐阅读
-
有关数据库SQL递归查询在不同数据库中的实现方法
-
oracle数据库查询没问题,正常显示两个汉字;但是java后台Hibernate查询的时候只显示第一个汉字怎么解决?
-
Android中的SQL查询语句LIKE绑定参数问题解决办法(sqlite数据库)
-
Mysql解决数据库N+1查询问题
-
数据库查询中遭遇特殊字符导致问题的解决方法
-
Oracle数据库中查询结果集中保留两位小数的问题
-
sql数据库查询结果字段包含换行符导致复制到Excel发生错位问题的解决
-
数据库~Mysql派生表注意的几点~关于百万数据的慢查询问题
-
有关mysql数据库中文排序问题
-
数据库分库分表和带来的唯一ID、分页查询问题的解决