List 如何显示父/子列表项

List 如何显示父/子列表项,list,coldfusion,nested,List,Coldfusion,Nested,在Coldfusion中显示父/子列表项的最佳方式是什么?该表包含id、标题、父id 我想在嵌套的无序列表中显示这些项。这假设子项将按照它决定的顺序从数据库返回,而不是故意将其保留在order BY语句之外。以下是我用来生成和填充表的SQL: CREATE TABLE Testing ( ID int, Title varchar(25), ParentID int ) INSERT INTO Testing VALUES (1, 'Parent One', null) INSERT INTO

在Coldfusion中显示父/子列表项的最佳方式是什么?该表包含id、标题、父id


我想在嵌套的无序列表中显示这些项。

这假设子项将按照它决定的顺序从数据库返回,而不是故意将其保留在order BY语句之外。以下是我用来生成和填充表的SQL:

CREATE TABLE Testing
(
ID int,
Title varchar(25),
ParentID int
)

INSERT INTO Testing VALUES (1, 'Parent One', null)
INSERT INTO Testing VALUES (2, 'Parent Two', null)
INSERT INTO TESTING VALUES (3, 'First Child of One', 1)
INSERT INTO TESTING VALUES (4, 'Second Child of One', 1)
INSERT INTO TESTING VALUES (5, 'First Child of Two', 2)
INSERT INTO TESTING VALUES (6, 'Parent Three', null)
这是CFM代码。我做了一个左外连接,假设有些父母可能没有孩子。如果不存在子项,我无法添加一个不显示子项标题的检查,但是一个简单的CFIF可以解决这个问题。不管怎样,我只是想展示简短的代码,我认为这些代码回答了您的问题,并让您朝着正确的方向前进:

<cfquery name="myQuery" datasource="Testing">
    SELECT  C.ParentID, P.TITLE ParentTitle, C.ID ChildID, C.TITLE ChildTitle
    FROM    Testing P LEFT OUTER JOIN Testing C ON P.ID = C.ParentID
    WHERE   P.ParentID IS NULL
    ORDER   BY P.TITLE
    </cfquery>

<cfoutput query="myQuery" group="ParentTitle">
    Parent = #ParentTitle#<br />
    <cfoutput>
        &nbsp;&nbsp;Child=#ChildTitle#<br />
    </cfoutput>
    <hr />
</cfoutput>

请给我们样本代码。花点时间给我们举个很好的例子,说明你想要什么,我们会花点时间给你答案。你是在问如何显示已经获取的数据,还是如何从数据库中查询它们?这是两个截然不同的问题。另外:您使用的数据库是什么?正如Evik所说,你的问题没有很好地表达出来。