本文介绍了PHP / MySQL的 - 建立一个导航菜单的层次结构的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以最终的菜单将是这个样子:
So the final menu will look something like this:
Item B
Item B-1
Item B-1-2
Item B-1-1
Item A
SubItem A-1
SubItem A-2
Item C
根据以下DB记录:
id menu_title parent_menu_id menu_level weight
1 Item A 0 1 1
2 Item B 0 1 0
3 Item C 0 1 2
4 SubItem A-2 1 2 1
5 Item B-1 2 2 0
6 Item B-1-1 5 3 1
7 SubItem A-1 1 2 0
8 Item B-1-2 5 3 0
我怎么会去展示?我的猜测是,它会涉及到所有的物品存储到一个多维数组,然后通过它的循环莫名其妙...
How would I go about displaying? My guess is it'll involve storing all the items into a multidimensional array, then looping through it somehow...
推荐答案
与数据结构时,你拥有它通常会涉及到递归或多个查询来构建树。
Dealing with the data structure as you have it will often involve recursion or multiple queries to build the tree.
你有没有考虑存储层次结构的其他方式?查看修改pre-序遍历 - 这里的这个一个不错的基于PHP的文章。
Have you considered other ways of storing a hierarchy? Check out modified pre-order traversal - here's a nice PHP based article about this.
这篇关于PHP / MySQL的 - 建立一个导航菜单的层次结构的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!