use*_*142 0 html sql coldfusion
我更喜欢动态地执行此操作,而不是将查询中的列硬编码到表中。这是我从另一个来源调整的代码。我想要做的不仅是按顺序获取列,还要获取每列的行值。我似乎找不到使用此方法显示每列的实际行值的属性,仅显示列名称和类型。
在两个 cfloop 中,顶部的一个将表示列名称,而底部的一个将表示该列的行值。
cfset employeemeta=getMetaData(ShowDeletedData)>
<Table border="1">
<TR>
<h4>The Employees table has the following columns</h4>
<cfloop index="i" from="1" to="#arrayLen(employeemeta)#">
<cfoutput>
<TD> #employeemeta[i].name# </TD>
</cfoutput>
</cfloop>
</TR>
<TR>
<cfloop index="i" from="1" to="#arrayLen(employeemeta)#">
<cfoutput>
<TD> #employeemeta[i].name# </TD>
</cfoutput>
</cfloop>
</TR>
</table>
Run Code Online (Sandbox Code Playgroud)
我从这些论坛上其他人的答案中了解到,ColdFusion 有一个名为 getColumnList() 的函数。它按列名称出现的顺序返回列名称的数组。我刚刚运行此代码来验证它。
<cfquery name="x" datasource="burns">
select 1 b, 2 a
from dual
</cfquery>
<cfdump var="#x.getcolumnlist()#" metainfo="no">
Run Code Online (Sandbox Code Playgroud)
它返回一个数组,先显示 b,然后显示 a。
为了显示列标题,您只需循环访问该数组即可。显示数据会稍微复杂一些。我会做这样的事情:
<cfoutput query="q1">
<cfloop array="#q1.getcolumnlist()#" index = "arrayElement">
#q1[arrayElement][currentrow]#
closing tags
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2083 次 |
| 最近记录: |