for-loop - Adobe ColdFusion 9 分页循环问题

标签 for-loop coldfusion coldfusion-9 coldfusion-10 coldfusion-11

我正在开发一个无法正确显示分页的应用程序。 这是代码:

  <cfif ...>
     <cfoutput><li class=""><a href="#FP#">First</a></li></cfoutput>
     <cfoutput><li class=""><a href="#link#">Previous</a></li></cfoutput>
  <cfelse>
  </cfif>

  <!--- Start Page Numbers --->
  <cfset totalPages = Ceiling(SmartGuideSearchRet.recordCount / perpage)>
  <cfset whichPage = round((url.start)/perPage + 1)>

  <cfloop index="a" from="1" to="#totalpages#"> //returns total pagination tabs
      <cfoutput>
      <cfset whichPage = round((url.start)/perPage + 1)>
      <cfif pagecount EQ whichPage>
         <li class="active" id="wp"><a href="?start=#pageLink#">#pagecount#</a></li>  
      <cfelse>
        <li id="wp"><a href="?start=#pageLink#">#pagecount#</a></li> 
      </cfif>
     </cfoutput>

     <cfset pageCount = pageCount + 1>
     <cfset pageLink = pageLink + perpage>
  </cfloop>
  <!--- End Page Number ---> 

  <cfif (url.start + perpage - 1) lt SmartGuideSearchRet.recordCount>
     <cfset link = cgi.script_name & "?start=" & (url.start + perpage)>
     <cfset LP = cgi.script_name & "?start=" & (SmartGuideSearchRet.recordCount)>

     <cfoutput><li><a href="#link#">Next</a></li></cfoutput>
     <cfoutput><li><a href="#LP#">Last</a></li></cfoutput>
  <cfelse>
  </cfif>

这是我的应用程序的输出:

incorrect pagination

这就是我希望分页的样子:

我希望它循环浏览总页数,但一次只显示 10 个分页选项卡,因此从 1-10 然后 10-20 20-30 30-40 等等......直到达到分页选项卡的总数。

这是开始的样子的图像:

enter image description here

我对 Coldfusion 还很陌生,但我就是想不出其中的逻辑。任何帮助表示赞赏。

最佳答案

考虑使用 Nathan Strutz 的分页 CFC。它是专门为此目的编写的,并附带许多您没有提到的选项和功能(包括样式)。

http://www.dopefly.com/projects/pagination/

集成示例(来自网站):

<cfset pagination = createObject("component", "components.Pagination").init() />
<cfset pagination.setQueryToPaginate(myQuery) />
<cfset pagination.setBaseLink("/app/photolist.cfm?year=2007") />
<cfset pagination.setItemsPerPage(25) />
<cfset pagination.setUrlPageIndicator("page") />
<cfset pagination.setShowNumericLinks(true) />

<cfoutput>#pagination.getRenderedHTML()#</cfoutput>

<cfoutput query="myQuery" startrow="#pagination.getStartRow()#" maxrows="#pagination.getMaxRows()#">
<li>#id# - #name#</li>
</cfoutput>

<cfoutput>#pagination.getRenderedHTML()#</cfoutput>

关于for-loop - Adobe ColdFusion 9 分页循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35651674/

相关文章:

javascript - AnythingSlider:使导航选项卡处于非事件状态?

java - 部署 antiSamy 后出现 ParserException 错误

cookies - Coldfusion StructDelete 创建空白值

java - 当我将 linkedin-j 与 javaloader 一起使用时,cfdump util 消失了

枚举 2 的 Python 循环

r - R中for循环中的2个变量

Python循环PEP8规则

python - 如何从python中的字符串中找到最大值和最小值?

oracle - 使用 Coldfusion 设置 Oracle 时间戳

java - 在哪里可以找到 ColdFusion Administrator 中列出的事件网关的 Java 类文件?