ColdFusion cfloop跳过行或更改循环结束行

ColdFusion cfloop跳过行或更改循环结束行,coldfusion,cfloop,cfdirectory,Coldfusion,Cfloop,Cfdirectory,我尝试显示2个图像,如果符合以下条件,则跳过其中一个(效果很好,然后继续下一个图像并显示下一个图像,直到我总共有2个图像。但是当标准图像显示在第5行时,循环显示3个图像,当标准图像显示在第1行时,它显示2个图像 cfloop中似乎没有跳过行 我已经尝试了,但它仍然显示了标准图像的3个图像,该图像在大于3的行中。下面是我正在使用的内容 <cfdirectory directory="C:\Domains\domain.com\wwwroot\uploads\images\#property_

我尝试显示2个图像,如果符合以下条件,则跳过其中一个(
效果很好,然后继续下一个图像并显示下一个图像,直到我总共有2个图像。但是当标准图像显示在第5行时,循环显示3个图像,当标准图像显示在第1行时,它显示2个图像

cfloop中似乎没有跳过行

我已经尝试了
,但它仍然显示了标准图像的3个图像,该图像在大于3的行中。下面是我正在使用的内容

<cfdirectory directory="C:\Domains\domain.com\wwwroot\uploads\images\#property_ID#\" filter="*.jpg" name="myDir" type="file" sort="datelastmodified">
<ul>
  <cfset counter = 0>
  <cfset endrowvalue = 3 >
  <cfloop query="myDir" endRow="#endrowvalue#">
    <cfset counter = counter +1 >
    <li>
    <cfif right(myDir.name,4) is ".jpg">
      <cfif fileexists("C:\Domains\ domain.com\wwwroot\uploads\ images\#property_ID#\#left(mydir.name,len(myDir.name)-4)#.jpg")>
        <cfif myDir.name eq property_mainimage>
          DO NOT SHOW THIS IMAGE
        <cfelse>
          <cfset endrowvalue = 1 >
          <cfset myDir.endRow = 1 >
          test #endrowvalue#
          test #counter# <img src="#request.root#uploads/images/#property_ID#/#myDir.name#" border="0" width="230px" style="margin-bottom:15px;"  />
        </cfif>
      </cfif>
    </cfif> 
    </li>
  </cfloop>
</ul>

  • 不显示此图像 测试#endrowvalue# 测试#计数器#

任何帮助都将不胜感激。

当你显示图像时,我会使用计数器计数。一旦你看到显示的两幅图像,就打破循环

<cfdirectory directory="C:\Domains\domain.com\wwwroot\uploads\images\#property_ID#\" filter="*.jpg" name="myDir" type="file" sort="datelastmodified">
<ul>
  <cfset counter = 1>
  <cfloop query="myDir">
    <li>
      <cfif right(myDir.name,4) is ".jpg">
        <cfif fileexists("C:\Domains\ domain.com\wwwroot\uploads\ images\#property_ID#\#left(mydir.name,len(myDir.name)-4)#.jpg")>
          <cfif myDir.name eq property_mainimage>
            DO NOT SHOW THIS IMAGE
          <cfelse>
            <!--- image displayed increment coutner --->
            <cfset counter++>
            <img src="#request.root#uploads/images/#property_ID#/#myDir.name#" border="0" width="230px" style="margin-bottom:15px;"  />
          </cfif>
        </cfif>
      </cfif> 
      <cfif counter EQ 2>
        <cfbreak>
      </cfif>
    </li> 
  </cfloop>
</ul>

  • 不显示此图像

这是一个格式化的注释。您的代码包含以下内容:

<cfset endrowvalue = 3 >
<cfloop query="myDir" endRow="#endrowvalue#">
    <cfif myDir.name eq property_mainimage>
      DO NOT SHOW THIS IMAGE
    <cfelse>
      <cfset endrowvalue = 1 >

不显示此图像
您必须测试它才能确定,但我怀疑cfloop标记的endRow属性将继续为3,即使您将endrowvalue变量的值更改为1

这可能不是您当前问题的原因,但是,如果我的怀疑者是正确的,您可能在其他地方遇到问题,或者您正在运行一个无意义的命令