效果:
新闻
娱乐新闻
八卦新闻
体育新闻
足球新闻
英超联赛
西甲联赛
篮球新闻
主要实现方法,sql查询,1条语句搞定
表结构
字段名 | 类型 | 说明 |
id | int 主键自增 | 唯一标识 |
name | varchar(30) | 栏目名称 |
pid | int | 父id |
path | varchar(100) | 类似路径 |
sql语句:SELECT id,name,pid,path,concat(path,'-',id) as bpath FROM `think_fen`order by bpath
结果图:
id | name | pid | path | bpath |
---|---|---|---|---|
1 | 新闻 | 0 | 0 | 0-1 |
2 | 娱乐新闻 | 1 | 0-1 | 0-1-2 |
4 | 明星八卦 | 2 | 0-1-2 | 0-1-2-4 |
3 | 体育新闻 | 1 | 0-1 | 0-1-3 |
5 | 足球 | 3 | 0-1-3 | 0-1-3-5 |
7 | 英超 | 5 | 0-1-3-5 | 0-1-3-5-7 |
8 | 德甲 | 5 | 0-1-3-5 | 0-1-3-5-8 |
6 | 篮球 | 3 | 0-1-3 | 0-1-3-6 |
当手动添加新项目时:
例如在英超下面添加 曼联
1.id为自增
2.name为曼联
3.获取英超的id 也就是曼联的父id,pid=英超id
4.获取英超的path 此时path=英超的path+英超的id
如: 9,曼联,7, 0-1-3-5-7
源于兄弟连thinkphp视频