cfoutput在一个文件名上循环

时间:2010-03-17 15:07:16

标签: coldfusion

根据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会保留一个文件名?

2 个答案:

答案 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#,这应该有效。