色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

簡(jiǎn)化php模板頁(yè)面中分頁(yè)代碼的解析

在使用模板的時(shí)候,會(huì)遇到這么一個(gè)問(wèn)題:顯示分頁(yè)信息時(shí)操作麻煩,n多個(gè)模板都有分頁(yè)塊。
例如:
---共 20 條記錄,當(dāng)前 3/5 頁(yè) 首頁(yè) 尾頁(yè) GO-----
初遇到這個(gè)問(wèn)題的道友,在考慮解決這個(gè)問(wèn)題的時(shí)候好像都是在打php的主意,考慮怎么用php來(lái)實(shí)現(xiàn),但是不管你是怎么設(shè)計(jì)都后設(shè)計(jì)成兩種方案
1、用嵌套循環(huán)來(lái)實(shí)現(xiàn)
2、用n多個(gè)判斷來(lái)搞
但是最終還是比較麻煩的,而且解析的時(shí)候是用的服務(wù)器端的資源。
不妨換個(gè)方法用Javascript來(lái)代替你的php!!!!,這樣即可減少php腳本的代碼量,還可以把解析分頁(yè)的工作交給客戶端自己來(lái)作。不過(guò)Javascript調(diào)試起來(lái)可能會(huì)比較麻煩。
最重要的是可以簡(jiǎn)化分頁(yè)顯示時(shí),解析模板遇到的痛苦。
下面用一個(gè)支持pear的itx模板工具解析的模板.
其中<!-- BEGIN page -->和<!-- END page -->表示一個(gè)塊,{recordcount}這種類似的字符串是變量。
----------------list.tpl---------------------
復(fù)制代碼 代碼如下:
//其它的html代碼
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
<TR>
<TD align="right" nowrap>
<script src="images/page.js" 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 條記錄,當(dāng)前 3/5 頁(yè) 首頁(yè) 尾頁(yè) 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> 條記錄,當(dāng)前 <B>'+pageNow+'/'+pageCount+'</B> 頁(yè)';
if(pageNow<=1)
str += " 首頁(yè) ";
else
str += " <A href=""+pageStr.replace("_page_",1)+"" href=""+pageStr.replace("_page_",1)+"">首頁(yè)</A> ";
if(pageNow<=1)
str += " ";
else
str += " <A href=""+pageStr.replace("_page_",(pageNow-1))+"" href=""+pageStr.replace("_page_",(pageNow-1))+""></A> ";
if(pageNow>=pageCount)
str += " ";
else
str += " <A href=""+pageStr.replace("_page_",(pageNow+1))+"" href=""+pageStr.replace("_page_",(pageNow+1))+""></A> ";
if(pageNow>=pageCount)
str += " 尾頁(yè) ";
else
str += " <A href=""+pageStr.replace("_page_",pageCount)+"" href=""+pageStr.replace("_page_",pageCount)+"">尾頁(yè)</A> ";
str += "跳到<input type=/"text/" name=/"txtpage/" size=/"3/">頁(yè)";
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);
}

另外這種方法即使不用模板,也可以用,也一樣是一種好的分頁(yè)解決方案,只要將{recordcount}這種類似的字符串用變量的值替換就可以了。

php技術(shù)簡(jiǎn)化php模板頁(yè)面中分頁(yè)代碼的解析,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 温宿县| 张家港市| 深圳市| 山阳县| 固镇县| 阳江市| 保定市| 镇原县| 鸡泽县| 铜陵市| 合水县| 博罗县| 七台河市| 海安县| 荥阳市| 洛川县| 运城市| 九龙县| 焉耆| 嵩明县| 昔阳县| 林甸县| 农安县| 潼南县| 海南省| 桐梓县| 镇沅| 绥滨县| 辉南县| 岳阳县| 三穗县| 屯昌县| 黄冈市| 鄱阳县| 南城县| 织金县| 商洛市| 达孜县| 浮山县| 水城县| 启东市|