Отобразить результат запроса
Я новичок в 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 ответ
Ааа. Я готов ваш вопрос неправильно... игнорировать предыдущий ответ..
Вы передаете запрос прямо из функции, поэтому он будет выдаваться как запрос, и вы можете рассматривать его как таковой.
Используйте 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>