【问题标题】:display the query result显示查询结果
【发布时间】:2011-11-16 06:33:02
【问题描述】:

我是 Coldfusion 的新手,我被困在函数内循环查询。例如,我有一个函数,其中有一个查询,该查询返回以“a”开头的名称。但我只能从数据库中获取一个值(第一个值)。实际上,在数据库中,我们有多个用于此查询的值。我应该如何在函数中循环查询? 任何帮助表示赞赏...

<cffunction name="getNames" returntype="any">
<cfargument name="letter" required="true">
<cfquery name="getNamesfrmDB" datasource="test">
select * from employee where firstname like '#arguments.letter#%'
</cfquery>  

<cfreturn getNamesfrmDB/>
</cffunction>
<cfoutput>#getNames('a').firstname#</cfoutput>

提前谢谢...

【问题讨论】:

  • &lt;cfoutput&gt; 只会返回第一行。正如 Jason 所说,将 query 属性添加到标签以循环遍历您的记录集。

标签: coldfusion coldfusion-9 cfoutput


【解决方案1】:

啊。我把你的问题准备错了……忽略之前的回答……

您将查询直接从函数中传递出来,因此它将作为查询出来,您可以这样对待它。

在您的 cfouptut 中使用 query="qname"

<cffunction name="getNames" returntype="any">
        <cfargument name="letter" required="true">
        ... your query ..
        <cfreturn getNamesfrmDB/>
    </cffunction>

    <!---call the function--->
    <cfset names = getNames('a')>

    <!---now loop over the results using cfoutput--->
    <cfoutput query="names">
        <p>#firstname#</p>
    </cfoutput>

    <!---OR ALTERNATIVELY, as you can't use cfoutput inside cfoutput.. so if you are already inside a cfouput, you can also output query results using cfloop--->
    <cfoutput>
        ..some other stuff...
        <cfloop query="names">
            <p>#firstname#</p>
        </cfloop>
        ..some other stuff..
    </cfoutput>

【讨论】:

    猜你喜欢
    • 2013-01-31
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 2017-10-09
    • 2018-01-19
    • 2019-01-26
    • 1970-01-01
    相关资源
    最近更新 更多