COLDFUSION分頁集
首先我們在調用PAGELIST的源文件中定義下面這些變量:
<cfset rowsperpage=10> <!---每頁顯示記錄的數量----->
<cfparam name="URL.startrow" default="1" type="numeric">
<cfset totalrows=newarticle.Recordcount>
<cfset endrow=Min(URL.startrow+rowsperpage-1,totalrows)>
<cfset startRowNext=endrow+1>
<cfset startrowBack=URL.startrow-rowsperpage>
Pagelist代碼:
可以保存成一個網頁,然后插入到你要顯示的地方就可以了.必須把自己的查詢變量名替換newarticle.recordcount這個設置的變量名
<cfsetting enablecfoutputonly="Yes"><!--- 壓縮空白,提高性能 --->
<cfparam name="page" default=1 type="numeric"> <!--- 初始化本頁頁號 --->
<cfparam name="n" default=7 type="numeric"> <!--- 設置可以顯示多少個頁 --->
<cfset min = page-Int(n/2)>
<cfset max = page+Int(n/2)>
<cfif min LT 1>
<cfset max = max - (min-1)>
<cfset min = 1>
</cfif>
<cfif max GT Ceiling(newarticle.recordcount/rowsPerPage)>
<cfset min = min - (max - Ceiling(newarticle.recordcount/rowsPerPage))>
<cfset max = Ceiling(newarticle.recordcount/rowsPerPage)>
</cfif>
<cfif min lt 1>
<cfset min=1>
</cfif>
<!-- 首頁 first-->
<cfif page NEQ 1>
<cfoutput>
<a href="#CGI.SCRIPT_NAME#?StartRow=1&Page=1" title="首頁"><<</a>
</cfoutput>
</cfif>
<!-- 頁數 PAGELIST -->
<cfloop index="x" from="#min#" to="#max#">
<cfset nextpage=x*rowsperpage-(rowsperpage-1)>
<cfoutput>
<cfif page eq x>[#x#] <cfelseif nextpage LTE newarticle.recordcount>
<a href="#CGI.SCRIPT_NAME#?StartRow=#nextpage#&Page=#x#">#x#</a>
</cfif>
</cfoutput>
</cfloop>
<!-- 末頁 Last -->
<cfset laststartrow=newarticle.recordcount-rowsPerPage+1>
<cfif page NEQ MAX>
<cfoutput>
<a href="#CGI.SCRIPT_NAME#?StartRow=#laststartrow#&Page=#Ceiling(newarticle.recordcount/rowsPerPage)#">>></a>
</cfoutput>
</cfif>
<!-- 上一頁/下一頁 -->
<cfoutput>
<CFIF startrowBack GT 0>
<cfif page EQ 1>
<CFSET NTback=1>
<cfelse>
<cfset NTback=page-1>
</cfif>
<a href="#CGI.SCRIPT_NAME#?startrow=#startrowback#&page=#NTback#">上一頁</a>
</CFIF>
<CFIF startrownext LTE totalrows>
<cfset NTnext=page+1>
<a href="#CGI.SCRIPT_NAME#?startrow=#startrownext#&page=#NTnext#">下一頁</a>
</CFIF>
</cfoutput>
<cfsetting enablecfoutputonly="no"><!--- 別忘記了關閉壓縮空白功能 --->