• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

如何简化php模板页面中分页代码的解析_php

php 搞代码 7年前 (2018-06-19) 175次浏览 已收录 0个评论

------------------------
------------------------
这篇文章主要是针对“使用模板的情况”写的,
但是这种方法适合于任何的场合,在任何情况下都是一种比较好的解决方案
------------------------
------------------------

http://www.gaodaima.com/46630.html如何简化php模板页面中分页代码的解析_php

在使用模板的时候,会遇到这么一个问题:显示分页信息时操作麻烦,n多个模板都有分页块。
例如:
—共 20 条记录,当前 3/5 页 首页 上一页 下一页 尾页 GO—–
初遇到这个问题的道友,在考虑解决这个问题的时候好像都是在打php的主意,考虑怎么用php来实现,但是不管你是怎么设计都后设计成两种方案
1、用嵌套循环来实现
2、用n多个判断来搞
但是最终还是比较麻烦的,而且解析的时候是用的服务器端的资源。

不妨换个方法用JavaScript来代替你的php!!!!,这样即可减少php脚本的代码量,还可以把解析分页的工作交给客户端自己来作。不过javascript调试起来可能会比较麻烦。
最重要的是可以简化分页显示时,解析模板遇到的痛苦。
下面用一个支持pear的itx模板工具解析的模板.
其中<!– BEGIN page –>和<!– END page –>表示一个块,{recordcount}这种类似的字符串是变量。

—————-list.tpl———————
//其它的html代码
<TABLE border=”0″ cellpadding=”0″ cellspacing=”0″ width=”100%”>
 <TR>
  <TD align=”right” nowrap>
   <script src=”images/page.js” language=”javascript”></script>
   <script language=”javascript”>
   <!– BEGIN page –>
    recordCount = {recordcount};
    show = {showinonepage}
    pageCount = {pagecount};
    pageNow = {page};
    pageStr = “?page=_page_”;
    document.write(showListPage0(recordCount, show, pageCount, pageNow, pageStr));
   <!– END page –>
   </script>
  </TD>
 </TR>
</TABLE>
//其它的html代码

——————–page.js————
//—————共 20 条记录,当前 3/5 页 首页 上一页 下一页 尾页 GO——————-
//recordCount = 20;
//show = 20
//pageCount = 5;
//pageNow = 3;
//pageStr = “?page=_page_”;
//document.write(showListPage(recordCount, show, pageCount, pageNow, pageStr));
function showListPage0(recordCount, show, pageCount, pageNow, pageStr){
 if(pageCount<1) pageCount =0;
 if(pageNow<1)  pageNow = 0;
 str = ‘<form name=”frmpage”>共 <B>’+recordCount+'</B> 条记录,当前 <B>’+pageNow+’/’+pageCount+'</B> 页’;
 if(pageNow<=1)
  str += ” 首页 “;
 else
  str += ” <A href='”+pageStr.replace(“_page_”,1)+”‘>首页</A> “;
 if(pageNow<=1)
  str += ” 上一页 “;
 else
  str += ” <A href='”+pageStr.replace(“_page_”,(pageNow-1))+”‘>上一页</A> “;
 if(pageNow>=pageCount)
  str += ” 下一页 “;
 else
  str += ” <A href='”+pageStr.replace(“_page_”,(pageNow+1))+”‘>下一页</A> “;
 if(pageNow>=pageCount)
  str += ” 尾页 “;
 else
  str += ” <A href='”+pageStr.replace(“_page_”,pageCount)+”‘>尾页</A> “;
 str += “跳到<input type=/”text/” name=/”txtpage/” size=/”3/”>页”;
 str += “<input type=/”button/” value=/”GO/” onclick=/”pagego0(document.frmpage.txtpage.value,”+pageNow+”,”+pageCount+”,'”+pageStr+”‘)/”></form>”;
 return str;
}
function pagego0(pageGo,pageNow,pageCount,pageStr){
 if(pageGo>=1 && pageGo<=pageCount && pageNow!=pageGo)
  window.location = pageStr.replace(“_page_”, pageGo);
}

----------------------------
另外这种方法即使不用模板,也可以用,也一样是一种好的分页解决方案,只要将{recordcount}这种类似的字符串用变量的值替换就可以了。
----------------------------

欢迎大家阅读《如何简化php模板页面中分页代码的解析_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何简化php模板页面中分页代码的解析_php

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址