求一个coldfusion 分页的例子

jiang_jiajia10 2009-03-24 09:11:31
如题。
...全文
143 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiang_jiajia10 2009-03-25
  • 打赏
  • 举报
回复
怎么用啊。上面的函数
jiang_jiajia10 2009-03-25
  • 打赏
  • 举报
回复
好的谢谢你。另外能不能给我提供点coldfusion好点的框架
Dogfish 2009-03-25
  • 打赏
  • 举报
回复
其实第一个是我的版本的复杂化的版本。
[Quote=引用 4 楼 jiang_jiajia10 的回复:]
怎么用啊。上面的函数
[/Quote]
Dogfish 2009-03-25
  • 打赏
  • 举报
回复
好像没有什么好的framework。
听得最多的是fusebox。

http://www.coldboxframework.com/
http://www.fusebox.org/
http://www.cftips.net/post.cfm/best-coldfusion-framework-for-a-beginning-developer

希望能帮上忙啦。:)
Dogfish 2009-03-25
  • 打赏
  • 举报
回复
<cfparam name="url.pgno" default="0"> <!--- 页码 --->
<cfset maxrow = "20"> <!---每页有多少行--->
<cfset totalrecord = 87> <!---总行数--->
<cfif totalpage = ceiling(totalrecord/maxrow)> <!--- 总共多少页 --->
<!--- 保证页码在合理范围 --->
<ciff url.pgno gt totalpage>
<cfset url.pgno = totalpage>
</cfif>
<cfif url.pgno lte 0 or not isnumeric(url.pgno)>
<cfset url.pgno = 1>
</cfif>

<!--- 显示分页 --->
<cfloop from="1" to="#totalpage#" index="l_pgno">
<cfif l_pgno eq url.pgno>
<b>#l_pgno#</b>
<cfelse>
<a href="?pgno=#l+pgno#">#l_pgno#</a>
</cfif>
<cfloop>
Dogfish 2009-03-25
  • 打赏
  • 举报
回复
网上找了一个例子。
<!--- Next x record function --->
<cffunction name="nextXpage" access="public" returntype="struct" hint="Next x page function" output="No">
<cfargument name="recordcount" required="Yes" default="0" type="numeric" hint="The total numbers of records / values">
<cfargument name="page" required="Yes" type="numeric" default="0" hint="The page number that you are currently on. (for example URL.page)">
<cfargument name="maxrows" required="No" type="numeric" default="10" hint="The maximum records / values to be displayed per page">

<!--- Define the return structure --->
<cfset var nextXpage = structNew()>
<!--- Calculate how much page are available according to the maxrows displayed --->
<cfset nextXpage.pagecount = CEILING(arguments.recordcount / arguments.maxrows)>
<!--- Set the maximum rows to be displayed --->
<cfset nextXpage.maxrows = arguments.maxrows>
<!--- Set the currentpage --->
<cfset nextXpage.currentpage = arguments.page>
<!--- Set the currentpage --->
<cfset nextXpage.recordcount = arguments.recordcount>

<!--- Set the startrow value --->
<cfif arguments.page eq 1>
<cfset nextXpage.startrow = 1>
<cfelse>
<cfset nextXpage.startrow = (arguments.page * arguments.maxrows) - (arguments.maxrows -1)>
</cfif>


<!--- Define the previous and next values. --->
<!--- Next values --->
<cfif arguments.page neq nextXpage.pagecount>
<cfset nextXpage.next = true>
<cfset nextXpage.nextpage = arguments.page + 1>
<cfelse>
<cfset nextXpage.next = false>
<cfset nextXpage.nextpage = 1>
</cfif>

<!--- Previous values --->
<cfif arguments.page eq 1>
<cfset nextXpage.previous = false>
<cfset nextXpage.previouspage = 1>
<cfelse>
<cfset nextXpage.previous = true>
<cfset nextXpage.previouspage = arguments.page - 1>
</cfif>

<!--- Return the structure --->
<cfreturn nextXpage>
</cffunction>

<cfparam name="URL.page" default="1">

<!--- Determine the navigation parameters --->
<cfset functions = createobject("component","functions")>
<cfset nav = functions.nextXpage(somequery.recordcount,URL.page,15)>

<cfoutput>
#nav.recordcount# items (page #nav.currentpage# of #nav.pagecount#)

<cfif nav.previous>
<a href="somepage.cfm?page=#nav.previouspage#">Previous</a>
<cfelse>
Previous
</cfif>
<cfif nav.next>
<a href="somepage.cfm?page=#nav.nextpage#">Next</a>
<cfelse>
Next
</cfif>
</cfoutput>

879

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 ColdFusion
社区管理员
  • ColdFusion社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧