金色的骷髅 发表于 2015-2-4 00:13:50

PHP网页编程之若何简化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呢?就我个人而言,完全是因为兴趣,因为我的专业和计算机完全无关,但是就是对编程很赶兴趣,尤其对网络编程、web开发特别赶兴趣。

老尸 发表于 2015-2-8 20:46:46

找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。

不帅 发表于 2015-2-22 01:55:16

基础有没有对学习php没有太大区别,关键是兴趣。

变相怪杰 发表于 2015-2-24 03:01:40

最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。

山那边是海 发表于 2015-3-1 10:43:31

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

只想知道 发表于 2015-3-6 11:50:04

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,

乐观 发表于 2015-3-13 00:25:43

最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。

第二个灵魂 发表于 2015-3-19 15:14:50

找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。

小女巫 发表于 2015-3-19 15:27:26

找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。

简单生活 发表于 2015-3-28 10:41:09

对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。

小魔女 发表于 2015-4-12 15:28:50

,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。

爱飞 发表于 2015-4-23 14:17:29

对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。

仓酷云 发表于 2015-4-30 08:10:16

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,

若天明 发表于 2015-5-1 20:11:00

不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。

飘飘悠悠 发表于 2015-6-11 20:41:39

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

金色的骷髅 发表于 2015-6-22 13:29:51

如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,

分手快乐 发表于 2015-6-26 20:58:38

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

活着的死人 发表于 2015-7-11 05:38:59

Ps:以上纯属原创,如有雷同,纯属巧合

再见西城 发表于 2015-7-11 06:23:33

当然这种网站的会员费就几十块钱。
页: [1]
查看完整版本: PHP网页编程之若何简化php模板页面平分页代码的解析