源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Coldfusion MX PageList之骨灰版

  • 时间:2020-09-23 22:44 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Coldfusion MX PageList之骨灰版
你要的功能都在这里,注意是PAGELIST,这是CCF核心代码之一,相信能比我这代码还少的PAGELIST少了.功能绝对没有打折扣.包括 pagelist 首页/末页,上页/下页, 页码可以设置显示数字多少,这避免了数量一多起来把pagelist拉的好长....  在调用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代码:可以保持成一个网页,然后插入到你要显示的地方就可以了.把里面的查询变量名修改成你自己的查询变量名就可以了. <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"><!--- 别忘记了关闭压缩空白功能 --->  代码拷贝框 以下是引用片段: <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"><!--- 别忘记了关闭压缩空白功能 --->   GAME OVER. 说明一下上面没有注释的几段控制语句: <cfparam name="n" default=7 type="numeric"> 这里设置默认为7,也就是当你在浏览12条的记录的时候,会显示 9 10 11 [12] 13 14 15 数一下,是不是7条,这是重要的一部分,你也可以设置为双数,但是效果不会怎么好,不平衡了.  另外上面还有自动隐藏的功能.例如我在最后一页了,不会出现 末页和下一页.  再次提醒一下:你必须把你自己的查询变量名替换newarticle.recordcount这个我设置的变量名.最好用 查找/替换 一次全部换掉. 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部