ColdFusion ListAppend

Gos*_*osi 0 coldfusion coldfusion-11

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

我有一个表中的数据,这是我的代码.

<cfquery name="getData" datasource="test">
  select * from test;
</cfquery>
Run Code Online (Sandbox Code Playgroud)

现在,我想要做的是将列名中的所有值(我将其命名为nm_column列表)使用ListAppend.

<cfset dataList = ListAppend('', '#getData.nm_column#')>
<cfoutput>#dataList#</cfoutput>
Run Code Online (Sandbox Code Playgroud)

它的作用是它只显示第一个值nm_colum.我明白我错过了循环部分,这就是为什么它只显示我的第一个值.那么我该如何循环并获取所有值呢?

我尝试了这个,但它没有用.

<cfset dataList = ListAppend('', '<cfloop query="getData">#getData.nm_column#</cfloop>')>
Run Code Online (Sandbox Code Playgroud)

那么有人可以教我正确编写代码的方法吗?

Mat*_*che 5

ColdFusion中有一个内置函数可以帮你完成.

<cfset dataList = valueList(getData.nm_column)>
Run Code Online (Sandbox Code Playgroud)

至于你的代码问题,listAppend第一个参数就是你要添加内容的列表.此外,您不能像这样嵌套ColdFusion标签.代码不会编译.

如果你想循环浏览一些东西以附加到列表中,这就是你要做的.

<cfset dataList = ''>
<cfloop query="getData">
  <cfset dataList = listAppend(dataList, nm_column)>
</cfloop>
Run Code Online (Sandbox Code Playgroud)

虽然字符串是不可变的,但这对于性能来说会很糟糕.如果你真的需要通过嘴唇将项目添加到列表中,我会创建一个数组然后用于arrayToList将该数组转换为列表.