отобразить результат запроса - PullRequest
2 голосов
/ 16 ноября 2011

Я новичок в Coldfusion и застрял в цикле запроса внутри функции. Например, у меня есть функция, в которой есть запрос, который возвращает имена, которые начинаются с «а». но я могу получить только одно значение (первое значение) из базы данных. На самом деле в БД у нас есть более 1 значения для этого запроса. Как я должен зациклить запрос в функции? Любая помощь приветствуется ...

<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>

Заранее спасибо ...

1 Ответ

2 голосов
/ 16 ноября 2011

ааа. Я неправильно сформулировал ваш вопрос ... не обращая внимания на предыдущий ответ ..

Вы передаете запрос прямо из функции, поэтому он будет выдаваться как запрос, и вы можете рассматривать его как таковой.

Используйте query = "qname" в вашем cfouptut

<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>
...