根据LiveDocs for cfoutput in cf7:
当您指定查询属性时,此标记将循环查询行并为startRow和maxRows值指定的范围内的每一行生成输出
我正在尝试获取目录中文件的名称。我使用cfdirectory获取查询记录,然后使用cfquery查询查询。我的cfoutput循环查询的行数,但每次都列出相同的文件名:
输出: alt text http://img80.imageshack.us/img80/9294/onefile.png
代码:
<!-- list files in pass-fail directory -->
<cfset fileLocation = "c:\YouTubeUploader\pass-fail">
<cfdirectory
action = "list"
directory = "#fileLocation#"
name = "files"
> <!-- master query -->
<cfdump var="#files#" label="files in pass-fail" >
<!-- displays the query record set returned from cfdirectory -->
<!-- detail query generates a new query result set - the names of the files -->
<cfquery dbtype="query" name="detail">
SELECT files.name
FROM files
</cfquery>
<!-- output all file names -->
<cfoutput query="detail" startRow = "1"
maxRows = "5">
#files.Name#<br>
</cfoutput>
为什么cfoutput会保留一个文件名?
答案 0 :(得分:5)
原因是因为您在详细查询files.name中命名变量,因此cf认为您需要文件查询的名称值。将您的详细信息查询更改为:
SELECT name FROM files
然后将你改为:
<cfoutput query="detail" startRow = "1" maxRows = "5">#detail.name#<br></cfoutput>
一切都应该很酷。
答案 1 :(得分:0)
在你的cfoutput查询循环中,将#sociles.Name#改为#detail.Name#,这应该有效。