Coldfusion 向分页数据添加页码
我已经实现了对数据的分页,但问题是我只有下一个和上一个链接,如下所示: 我想做的是添加页码,将我所在的页码作为普通文本,其他页面作为链接。因此,如果我在第3页,共5页,它会像这样: 以下是我到目前为止的情况:Coldfusion 向分页数据添加页码,coldfusion,coldfusion-9,Coldfusion,Coldfusion 9,我已经实现了对数据的分页,但问题是我只有下一个和上一个链接,如下所示: 我想做的是添加页码,将我所在的页码作为普通文本,其他页面作为链接。因此,如果我在第3页,共5页,它会像这样: 以下是我到目前为止的情况: <cfset data = queryNew("id,name,age,active","integer,varchar,integer,bit")> <cfloop index="x" from="1" to="50"> <cfset queryAdd
<cfset data = queryNew("id,name,age,active","integer,varchar,integer,bit")>
<cfloop index="x" from="1" to="50">
<cfset queryAddRow(data)>
<cfset querySetCell(data,"id",x)>
<cfset querySetCell(data,"name","User #x#")>
<cfset querySetCell(data,"age",randRange(20,90))>
<cfset querySetCell(data,"active",false)>
</cfloop>
<cfset perpage = 10>
<cfparam name="url.start" default="1">
<cfif not isNumeric(url.start) or url.start lt 1 or url.start gt data.recordCount or round(url.start) neq url.start>
<cfset url.start = 1>
</cfif>
<h2>Random People</h2>
<cfoutput query="data" startrow="#url.start#" maxrows="#perpage#">
#currentrow#) #name#<br />
</cfoutput>
<p align="right">
[
<cfif url.start gt 1>
<cfset link = cgi.script_name & "?start=" & (url.start - perpage)>
<cfoutput><a href="#link#">Previous Page</a></cfoutput>
<cfelse>
Previous Page
</cfif>
/
<cfif (url.start + perpage - 1) lt data.recordCount>
<cfset link = cgi.script_name & "?start=" & (url.start + perpage)>
<cfoutput><a href="#link#">Next Page</a></cfoutput>
<cfelse>
Next Page
</cfif>
]
</p>
随机人群
#currentrow#)、name#
[
上一页
/
下一页
]
这是一个有趣的问题。这样做如何构建页面链接列表:
<cfset pageList = "">
<cfloop from="1" to="#ceiling(data.RecordCount/perpage)#" index="i">
<!--- Determine the start record for selected page --->
<cfset targetRecord = 1 + (perpage * (i - 1))>
<cfif ceiling(url.start/perpage) NEQ i>
<cfset link = cgi.script_name & "?start=" & targetRecord>
<cfset pageList = listAppend(pageList, "<a href=""#link#"">#i#</a>", " ")>
<cfelse>
<cfset pageList = listAppend(pageList, i, " ")>
</cfif>
</cfloop>
现在,您可以将页面列表放入导航部分,如下所示:
<p align="right">
[
<cfif url.start gt 1>
<cfset link = cgi.script_name & "?start=" & (url.start - perpage)>
<cfoutput><a href="#link#">Previous Page</a></cfoutput>
<cfelse>
Previous Page
</cfif>
/
#pageList#
/
<cfif (url.start + perpage - 1) lt data.recordCount>
<cfset link = cgi.script_name & "?start=" & (url.start + perpage)>
<cfoutput><a href="#link#">Next Page</a></cfoutput>
<cfelse>
Next Page
</cfif>
]
</p>
[
上一页
/
#页面列表#
/
下一页
]
Riafforge上有一个非常好的ColdFusion开源分页项目:。它涵盖了您需要的一切,并附带了许多预定义的样式。至少您可以分析代码并自定义代码以满足您的要求。您可以根据记录数除以页数创建一个数字列表,然后使用url确定它们位于哪个页面上<代码>谢谢您,好先生!我很高兴这是一个有趣的问题,因为你的代码工作得很熟练!向上投票+勾选标记!