我正在处理一个错误显示分页的应用程序。 这是代码:
<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>
以下是我的应用程序的输出:
这就是我希望我的分页看起来像:
我希望它循环显示总页数,但一次只显示10个分页选项卡,所以从1-10然后10-20 20-30 30-40等...直到达到分页选项卡的总数。
以下是开头应如何显示的图片:
我还是Coldfusion的新手,但我想不出逻辑。任何帮助表示赞赏。
答案 0 :(得分:2)
考虑使用Nathan Strutz的Pagination 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>