Coldfusion MX PageList之骨灰版

2023-12-05 0 861

你要的功能都在这里,注意是PAGELIST,这是CCF核心代码之一,相信能比我这代码还少的PAGELIST少了.功能绝对没有打折扣.包括pagelist首页/末页,上页/下页,页码可以设置显示数字多少,这避免了数量一多起来把pagelist拉的好长…. 在调用PAGELIST的源文件中定义下面这些变量: <cfsetrowsperpage=10><!—每页显示记录的数量—–> <cfparamname=\”URL.startrow\”default=\”1\”type=\”numeric\”> <cfsettotalrows=newarticle.Recordcount> <cfsetendrow=Min(URL.startrow+rowsperpage-1,totalrows)> <cfsetstartRowNext=endrow+1> <cfsetstartrowBack=URL.startrow-rowsperpage> Pagelist代码:可以保持成一个网页,然后插入到你要显示的地方就可以了.把里面的查询变量名修改成你自己的查询变量名就可以了. <cfsettingenablecfoutputonly=\”Yes\”><!—压缩空白,提高性能—> <cfparamname=\”page\”default=1type=\”numeric\”><!—初始化本页页号—> <cfparamname=\”n\”default=7type=\”numeric\”><!—设置可以显示多少个页—> <cfsetmin=page-Int(n/2)> <cfsetmax=page+Int(n/2)> <cfifminLT1>  <cfsetmax=max-(min-1)>  <cfsetmin=1> </cfif> <cfifmaxGTCeiling(newarticle.recordcount/rowsPerPage)>  <cfsetmin=min-(max-Ceiling(newarticle.recordcount/rowsPerPage))>  <cfsetmax=Ceiling(newarticle.recordcount/rowsPerPage)> </cfif> <cfifminlt1> <cfsetmin=1> </cfif> <!–首页first–> <cfifpageNEQ1> <cfoutput> <ahref=\”#CGI.SCRIPT_NAME#?StartRow=1&Page=1\”title=\”首页\”><<</a> </cfoutput> </cfif> <!–页数PAGELIST–> <cfloopindex=\”x\”from=\”#min#\”to=\”#max#\”> <cfsetnextpage=x*rowsperpage-(rowsperpage-1)> <cfoutput> <cfifpageeqx>[#x#]<cfelseifnextpageLTEnewarticle.recordcount> <ahref=\”#CGI.SCRIPT_NAME#?StartRow=#nextpage#&Page=#x#\”>#x#</a> </cfif> </cfoutput> </cfloop> <!–末页Last–> <cfsetlaststartrow=newarticle.recordcount-rowsPerPage+1> <cfifpageNEQMAX> <cfoutput> <ahref=\”#CGI.SCRIPT_NAME#?StartRow=#laststartrow#&Page=#Ceiling(newarticle.recordcount/rowsPerPage)#\”>>></a> </cfoutput> </cfif> <!–上一页/下一页–> <cfoutput> <CFIFstartrowBackGT0> <cfifpageEQ1> <CFSETNTback=1> <cfelse> <cfsetNTback=page-1> </cfif> <ahref=\”#CGI.SCRIPT_NAME#?startrow=#startrowback#&page=#NTback#\”>上一页</a> </CFIF> <CFIFstartrownextLTEtotalrows> <cfsetNTnext=page+1> <ahref=\”#CGI.SCRIPT_NAME#?startrow=#startrownext#&page=#NTnext#\”>下一页</a> </CFIF> </cfoutput> <cfsettingenablecfoutputonly=\”no\”><!—别忘记了关闭压缩空白功能—> 代码拷贝框 以下是引用片段: <cfsettingenablecfoutputonly=\”Yes\”><!—压缩空白,提高性能—> <cfparamname=\”page\”default=1type=\”numeric\”><!—初始化本页页号—> <cfparamname=\”n\”default=7type=\”numeric\”><!—设置可以显示多少个页—> <cfsetmin=page-Int(n/2)> <cfsetmax=page+Int(n/2)> <cfifminLT1>  <cfsetmax=max-(min-1)>  <cfsetmin=1> </cfif> <cfifmaxGTCeiling(newarticle.recordcount/rowsPerPage)>  <cfsetmin=min-(max-Ceiling(newarticle.recordcount/rowsPerPage))>  <cfsetmax=Ceiling(newarticle.recordcount/rowsPerPage)> </cfif> <cfifminlt1> <cfsetmin=1> </cfif> <!–首页first–> <cfifpageNEQ1> <cfoutput> <ahref=\”#CGI.SCRIPT_NAME#?StartRow=1&Page=1\”title=\”首页\”><<</a> </cfoutput> </cfif> <!–页数PAGELIST–> <cfloopindex=\”x\”from=\”#min#\”to=\”#max#\”> <cfsetnextpage=x*rowsperpage-(rowsperpage-1)> <cfoutput> <cfifpageeqx>[#x#]<cfelseifnextpageLTEnewarticle.recordcount> <ahref=\”#CGI.SCRIPT_NAME#?StartRow=#nextpage#&Page=#x#\”>#x#</a> </cfif> </cfoutput> </cfloop> <!–末页Last–> <cfsetlaststartrow=newarticle.recordcount-rowsPerPage+1> <cfifpageNEQMAX> <cfoutput> <ahref=\”#CGI.SCRIPT_NAME#?StartRow=#laststartrow#&Page=#Ceiling(newarticle.recordcount/rowsPerPage)#\”>>></a> </cfoutput> </cfif> <!–上一页/下一页–> <cfoutput> <CFIFstartrowBackGT0> <cfifpageEQ1> <CFSETNTback=1> <cfelse> <cfsetNTback=page-1> </cfif> <ahref=\”#CGI.SCRIPT_NAME#?startrow=#startrowback#&page=#NTback#\”>上一页</a> </CFIF> <CFIFstartrownextLTEtotalrows> <cfsetNTnext=page+1> <ahref=\”#CGI.SCRIPT_NAME#?startrow=#startrownext#&page=#NTnext#\”>下一页</a> </CFIF> </cfoutput> <cfsettingenablecfoutputonly=\”no\”><!—别忘记了关闭压缩空白功能—> GAMEOVER. 说明一下上面没有注释的几段控制语句: <cfparamname=\”n\”default=7type=\”numeric\”> 这里设置默认为7,也就是当你在浏览12条的记录的时候,会显示91011[12]131415 数一下,是不是7条,这是重要的一部分,你也可以设置为双数,但是效果不会怎么好,不平衡了. 另外上面还有自动隐藏的功能.例如我在最后一页了,不会出现末页和下一页. 再次提醒一下:你必须把你自己的查询变量名替换newarticle.recordcount这个我设置的变量名.最好用查找/替换一次全部换掉.

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 ColdFusion Coldfusion MX PageList之骨灰版 https://www.u-9.cn/jiaoben/coldfusion/100707.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务