cfoutput
是否有办法从表格中选择所有列并使用HTML表格显示在网页上?我有一个包含大量列的数据库表,我不想在cfm网页的cfquery
或cfoutput
部分列出每个列名。
示例:假设Table1有26列 - A,B,C,D,E....X,Y,Z
。我希望在构建HTML表时在cfoutput
中指定这些列名明确性。而是更喜欢动态构建表,以便Table1
中的所有列都显示为表。
<CFQUERY NAME="query1" DATASOURCE="abcd">
select a,b,c,....,x,y,x from table1
</CFQUERY>
现在在网页的表格部分:
<TABLE>
<TR>
<TH>A</TH>
<TH>B</TH>
<TH>..</TH>
<TH>Y</TH>
<TH>Z</TH>
</TR>
<CFOUTPUT query="query1">
<TR align="center">
<TD>#a#</TD>
<TD>#b#</TD>
<TD>#...#</TD>
<TD>#y#</TD>
<TD>#z#</TD>
</TR>
</CFOUTPUT>
</TABLE>
我的实际表格中会有相当多的列。可以很容易地动态构建表而不是手动列出它。任何建议,非常感谢!
答案 0 :(得分:1)
这是另一种方式。
fields = "Field1,Field2,etc";
columnHeaders = "Header 1,Header 2,etc"'
<cfquery name = "yourQuery">
select #fields#
etc
</cfquery>
<tr><cfoutput><cfloop list = columnHeaders index = "header">
<th>#header#</th>
</cfloop></cfoutput></tr>
<cfoutput query = "yourQuery">
<tr>
<cfloop list = fields index = "field">
<td>#yourQuery[field][currentrow]#</td>
</cfloop>
</tr>
</cfoutput>
如果您需要执行格式化日期,右对齐数字等操作,则会变得有点复杂。