PHP/MySQL - building a nav menu hierarchy(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
基于以下数据库记录:
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.
您是否考虑过其他存储层次结构的方法?查看修改后的预购遍历 - 这是一篇不错的关于此的基于 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 - 构建导航菜单层次结构的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:PHP/MySQL - 构建导航菜单层次结构
基础教程推荐
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01
- PHP 守护进程/worker 环境 2022-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- HTTP 与 FTP 上传 2021-01-01
- 使用 PDO 转义列名 2021-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01