我正在阅读这篇文章, http: //mikehillyer.com/articles/managing-hierarchical-data-in-mysql/。
我想举一个简单的例子,然后问你我如何得到想要的结果?所以这里是一个例子:
+---------+-----------------------------+
| product_id | product_name |
+---------+-----------------------------+
| 1 | Example Product |
+---------+-----------------------------+
+---------+-----------------------------+
| product_id | category_id |
+---------+-----------------------------+
| 1 | 2 |
| 1 | 4 |
+---------+-----------------------------+
+-------------+--------------------+------+------+
| category_id | name | lft | rgt |
+-------------+--------------------+------+------+
| 1 | Electronics | 1 | 8 |
| 2 | Televisions | 2 | 3 |
| 3 | Portable Electronics | 4 | 7 |
| 4 | CD Players | 5 | 6 |
+-------------+--------------------+------+------+
在查询并在 PHP 中操作数据后,我希望能够在 HTML 中显示以下结果:
"Example Product" Categories:
Electronics
Televisions
Portable Electronics
CD Players
您能帮我完成 PHP 中的查询和操作以实现此结果吗?
一些需要考虑的细节:
- 请注意这两个类别都在“电子”下,但“电子”在这里只出现一次,显示它所属的每个子类别
- 结果最终应该是一个 PHP 多维数组,其中类别包含一个子类别数组,每个子类别包含一个子子类别数组(如果存在)。
我想打印深度对于在 HTML 中构建正确的树非常重要。