【发布时间】:2011-12-19 18:24:13
【问题描述】:
我有一张桌子People。我想显示一个由每个父母组成的 HTML 表格,他们的所有孩子都在他们的正下方。
_________
|People |_____________________________________________
|-------------------------------------------------------|
| id | parent | firstname | lastname |
|-------------------------------------------------------|
| 1 0 James Donovan |
| 2 0 Jeffrey Williams |
| 3 0 Emmit Herring |
| 4 2 Carol Williams |
| 5 2 Sarah Williams |
| 6 1 Nikolai Donovan |
|_______________________________________________________|
预期输出:
________________________________________________
|Jeffrey Williams |
|------------------------------------------------|
| - Carol Williams |
| - Sarah Williams |
|________________________________________________|
|James Donovan |
|------------------------------------------------|
| - Nikolai Donovan |
|________________________________________________|
|Emmit Herring |
|------------------------------------------------|
|________________________________________________|
如何构建一个关联数组,其中包含要迭代的正确结果集?我对构建最终数组的正确 SQL 和正确 PHP 感到困惑。
具体来说,我不确定如何显示两个 MySQL 表之间的层次关系。据我所知,SQL 结果集不是多维的。将 SQL 查询放在 for 循环中对性能来说很糟糕。那你怎么办?
我想我正在寻找 MySQL 中的邻接列表实现。
如果我可以将所有内容分成两张表,这个问题应该很容易,但不幸的是我必须坚持这种不正常的表结构。
【问题讨论】:
-
为什么我必须使用 jQuery 来显示像每个父母的孩子一样简单的东西?这里没有PHP解决方案吗?
-
@Mark 我想我的问题还不够清楚。我不是来帮忙做作业的。我更新了问题。
-
这是一个 2 级树吗?或者你允许孙子等?
-
这是一个 2 级树。没有孙子。
-
当您有 2 个父母时,您是希望将它们彼此内联显示,还是作为单独的实体显示,具有相同的孩子?