Coldfusion将cfloop限制为10

Coldfusion将cfloop限制为10,coldfusion,cfloop,Coldfusion,Cfloop,我在cfloop中处理大量的项目。我想削减这一点,并添加分页。在我的cfloop中是否存在将数组限制为前10个的限制 我有 <cfloop array="#qryItems#" index="index"> 我试着把它变成一个条件循环,没有运气和其他一些事情。我有一段时间没碰coldfusion了,有点生疏了。谷歌帮不了你,哈哈 我试过了 <cfloop from="1" to="10" array="#qryItems#" index="index"> 而且还尝试了

我在cfloop中处理大量的项目。我想削减这一点,并添加分页。在我的cfloop中是否存在将数组限制为前10个的限制

我有

<cfloop array="#qryItems#" index="index">
我试着把它变成一个条件循环,没有运气和其他一些事情。我有一段时间没碰coldfusion了,有点生疏了。谷歌帮不了你,哈哈

我试过了

<cfloop from="1" to="10" array="#qryItems#" index="index">
而且还尝试了max_rows

 <cfloop maxrows="10" array="#qryItems#" index="index">
每次我收到错误消息时


标记CFLOOP的属性验证错误。

没有CFLOOP的属性组合可以实现您的期望。正如BKBK所建议的,您需要使用from/to循环来输出一组选定的记录。如果我正确地理解了您的需求,我会用一个新的索引变量更新您的cfloop,然后通过引用数组元素来设置旧的变量

<cfloop from="1" to="10" index="index">
    <!--- Then do your business with array elements qryItems[index], that is, with qryItems[1], qryItems[2],..., qryItems[10] --->
</cfloop>
下面的两个cfloop输出相同的数据,第二个cfloop只显示分页范围内的记录

<cfset qryItems = [1,2,3,4,5,6,7,8,9,10,'a','b','c','d'] />
<cfoutput>
    <!--- Current loop: Outputs all records --->
    <cfloop array="#qryItems#" index="index">
        #index#
    </cfloop>
    <cfset paginationStart = 1 />
    <cfset paginationEnd = 10 />
    <!--- Only the range of of records requested --->
    <cfloop from="#paginationStart#" to="#paginationEnd#" index="indexNumber">
        <cfset index = qryItems[indexNumber] />
        <!--- code remain the same --->
        #index#
    </cfloop>
</cfoutput>

你可以用cfbreak@Lashanecfoutput中有一大块代码,所以我试图避免编辑它,但我会尝试任何方法。与其将循环限制为10次迭代,为什么不编辑定义数组仅返回10个元素的东西?如果它是由查询定义的,那么通过在数据库中进行分页并仅返回请求页面的记录,您将获得更好的性能。@AdrianJ.Moreno,因为应用程序不是这样设置的,这比我完成此任务的时间要多得多。这是一个完美的世界,不幸的是,我并不在完美的世界里。@zazvorniki-好吧,如果它是一个不断增长的数据集,最终性能将开始下降。因此,在db端进行分页确实是一种方法。如果您必须在事实发生后进行分页,那么快速搜索应该会找到大量分页逻辑示例和/或。本质上,您只需要基本逻辑来计算N个记录集合中的总页数。然后使用带有start/endRow的cfloop,而不是cfloop数组=…我已经尝试过了。我刚刚为标记CFLOOP返回了一个错误属性验证错误。@zazvorniki您一定是出了什么问题,因为这应该可以工作。如果您发布您尝试过的代码,我们可能会指出问题所在。只需在那里添加代码。@Miguel-F我不会更改代码中的任何其他内容,代码已经稳定了一年多了。我在上面发布了我尝试过的代码。@zazvorniki注意到BKBK代码中缺少数组属性。如果对计数进行迭代,则索引变量为计数。迭代数组时,索引变量是元素值。不能在一个cfloop中迭代计数和数组。@zazvorniki-上面的内容不能满足您的需要。但是,如果将“从”和“到”值修改为要显示的图元的开始/结束位置,则会出现这种情况。循环索引值随后成为一个数字。在循环内部,使用该位置从数组中获取适当的元素或数据,可以使用与前面相同的方法。是的,尽管我认为他们实际上希望from/to是动态的,这样就可以与分页代码一起使用来显示元素X到Y,而不是总是显示前10个元素。谢谢@Leigh,我已经更新了我的示例,将分页变量包括进来,就像您的示例中一样。