我想知道是否有可能显示从ColdFusion中的Loop或Output中获取的特定内容,例如我有一个输出:
<cfoutput query="get_service_plus"><b>#SUBJECT#</b><br/>#plus_content#<br/></cfoutput>
及其查询,以防万一:
<cfquery name="GET_SERVICE_PLUS" datasource="#DSN3#">
SELECT
*
FROM
SERVICE_PLUS
WHERE
SERVICE_ID = #attributes.action_id#
<cfif isDefined("GET_SERVICE_PLUS.SERVICE_PLUS_ID")>
AND SERVICE_PLUS_ID = #GET_SERVICE_PLUS.SERVICE_PLUS_ID#
</cfif>
ORDER BY PLUS_DATE DESC,RECORD_DATE DESC
</cfquery>
我知道我很可能应该使用循环从db获取特定内容但无法理解如何实现它... thx求助!
答案 0 :(得分:14)
你可以做几件事。
如果循环完整查询,可以使用变量“qet_service_plus.currentrow”检查当前行号,所以
<cfif qet_service_plus.currentrow eq 1>
<!--- do first row display stuff --->
</cfif>
每个查询都会出现查询中返回的记录数。你可以在“recordcount”中找到它,所以
<cfif get_service_plus.currentrow eq get_service_plus.recordcount>
<!--- do last row display stuff --->
</cfif>
如果要在不经过完整查询的情况下访问查询中的特定记录,可以将cfquery视为关联数组。例如
<cfoutput>
<!--- service id in first record --->
#get_service_plus['service_id'][1]#
<!--- service id in last record --->
#get_service_plus['service_id'][get_service_plus.recordcount]#
</cfoutput>
答案 1 :(得分:0)
我认为这应该从CF的角度来看:
<cfoutput query="get_service_plus">
<cfif get_service_plus.currentRow eq 1 or i eq get_service_plus.recordCount>
<b>#SUBJECT#</b><br/>#plus_content#<br/>
</cfif>
</cfoutput>
一旦恢复了初始记录集,您也可以使用查询查询来执行此操作。
我建议你尝试像你建议的那样抓住数据库层的第一行和最后一行,因为这样更有效,特别是对于大型记录集。
希望有所帮助。