该表如下所示:
id | title | parent | depth |
---+-------+--------+-------+
1 | blah | 0 | 0
---+-------+--------+-------+
2 | blah | 0 | 0
---+-------+--------+-------+
3 | blah | 0 | 0
---+-------+--------+-------+
4 | blah | 2 | 1
---+-------+--------+-------+
5 | blah | 2 | 1
---+-------+--------+-------+
6 | blah | 5 | 2
---+-------+--------+-------+我想将这些数据输出到树状视图中。类似于:
1 - blah
2 - blah
4 - blah
5 - blah
6 - blah
3 - blah有人建议我使用查询:
SELECT title, depth FROM table ORDER BY parent, id然后,我可以使用depth在左边创建空格并格式化树。在我使用HTML之前,这种方法一直起作用。我希望能够很好地格式它在有效的HTML,然后用CSS样式它,等等…
仅使用深度,我想不出一种方法来将注释包装在div class="parent/child"类型结构中。
如何格式化数据?
发布于 2011-01-07 15:23:41
如果您已经知道如何获取条目的深度(或祖先的数量),那么您可以尝试以下操作:
css代码:
.tab {
margin-left: 20px;
}呈现的html代码:
<p>
<span class="">1 - blah</span><br />
<span class="">2 - blah</span><br />
<span class="tab">4 - blah</span><br />
<span class="tab">5 - blah</span><br />
<span class="tab tab">6 - blah</span><br />
<span class="">3 - blah</span>
</p>您将使用您的逻辑来确定向span的class属性添加多少个"tab“。您添加的每个“制表符”都会使该行向右多放20个像素。
https://stackoverflow.com/questions/4623259
复制相似问题