代码之家  ›  专栏  ›  技术社区  ›  Gosi Deepak Jadon

ColdFusion列表附加

  •  0
  • Gosi Deepak Jadon  · 技术社区  · 8 年前

    我在尝试使用时遇到困难 ListAppend .

    <cfquery name="getData" datasource="test">
      select * from test;
    </cfquery>
    

    现在,我要做的是将列名称中的所有值都命名为 nm_column 使用 列表附加 .

    <cfset dataList = ListAppend('', '#getData.nm_column#')>
    <cfoutput>#dataList#</cfoutput>
    

    它的作用是只显示 nm_colum 我知道我缺少循环部分,这就是为什么它只显示第一个值。那么我如何循环它并得到所有的值呢?

    我试过这个,但不起作用。

    <cfset dataList = ListAppend('', '<cfloop query="getData">#getData.nm_column#</cfloop>')>
    

    所以有人能教我如何正确编写代码吗?

    1 回复  |  直到 8 年前
        1
  •  5
  •   Matt Busche    8 年前

    ColdFusion中有一个内置函数可以为您实现这一点。

    <cfset dataList = valueList(getData.nm_column)>
    

    至于代码的问题, listAppend 的第一个参数是要添加内容的列表。此外,不能嵌套这样的ColdFusion标记。代码将无法编译。

    如果您想循环某个要附加到列表的内容,这就是您要做的。

    <cfset dataList = ''>
    <cfloop query="getData">
      <cfset dataList = listAppend(dataList, nm_column)>
    </cfloop>
    

    但是,这对性能来说很糟糕,因为字符串是不可变的。如果您确实需要通过lip将项目添加到列表中,我将创建一个数组,然后使用 arrayToList 将该数组转换为列表。