亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

PHP中模板分頁的處理

瀏覽:77日期:2024-02-02 14:07:44

PHP普通開發(fā)中php代碼和html代碼夾雜的情況中處理分頁是比較簡單的,也可以構(gòu)建成函數(shù)的形式。最近開發(fā)中使用 Pear::DB + Smarty 的結(jié)構(gòu),于是考慮如果對(duì)模板進(jìn)行分頁,因?yàn)椴荒苤苯硬僮黜撁妫跃涂紤]生成分頁字符串的形式。

因?yàn)槭侨龑咏Y(jié)構(gòu),類庫-->PHP調(diào)用-->模板的形式,所有的數(shù)據(jù)處理是在類庫里的,那么分頁控制就在PHP調(diào)用中進(jìn)行的,模板就復(fù)雜解析調(diào)用的結(jié)果。先直接看我們PHP調(diào)用中的分頁代碼:

--------------------------------------------------------------------------------<?php/*** 文件:Type.php* 功能:顯示類別下的書籍* 作者:heiyeluren**/

//包含公共文件,包括類庫等require_once('include.php');

//實(shí)例化操作對(duì)象$Type = new CTypes();

//每頁記錄數(shù)define('PAGE_SIZE', 10);

//獲取GET提交的變量$TypeID = $tid ? $tid : intval($_REQUEST['tid']);

//書籍總數(shù)$BookTotal = $Type->getBookTotal($TypeID);

/* 分頁顯示核心 *///獲取總頁數(shù)$pageCount = ($BookTotal/PAGE_SIZE);//當(dāng)前頁數(shù)if (isset($_GET) && !empty($_GET)) { $page = intval($_GET); } else { $page = 1; }if ($page==1) { $startNum = 0; } else { $startNum = ($page-1) * PAGE_SIZE; }//生成分頁鏈接字符串if ($page==1 && $pageCount>1) {$pageStr = '上一頁 | <a href=/Type.php?tid='.$TypeID.'&page='.($page+1).'>下一頁</a>';} elseif ($page==$pageCount && $pageCount>1) {$pageStr = '<a href=/Type.php?tid='.$TypeID.'&page='.($page-1).'>上一頁</a> | 下一頁';} elseif ($page>1 && $page<=$pageCount) {$pageStr = '<a href=/Type.php?tid='.$TypeID.'&page='.($page-1).'>上一頁</a> | <a href=/Type.php?tid='.$TypeID.'&page='.($page+1).'>下一頁</a>';} else {$pageStr = '上一頁 | 下一頁';}

//按照頁數(shù)獲取當(dāng)前記錄$allBook = $Type->getBookFromType($TypeID, $start=$startNum, $offset=PAGE_SIZE);

//Smarty變量賦值$tpl->assign('BookTotal', $BookTotal);$tpl->assign('allBook', $allBook);$tpl->assign('pageStr', $pageStr);

$tpl->display('Type.html');

unset($Type);

?>

--------------------------------------------------------------------------------

為了更清晰的認(rèn)識(shí),下面簡單的描述一下類庫中的基本內(nèi)容:(代碼不完整)

--------------------------------------------------------------------------------<?php/*** 文件:Type.class.php* 功能:Type處理類* www.mypchelp.cn* 作者:heiyeluren**/

class Type{var $mDsn;var $mTableName;var $hPearDB;

//構(gòu)造函數(shù)function Type(){ //...}//獲得pear DB類的句柄方法function _getDBClass($fetchMode = DB_FETCHMODE_ASSOC){ if(!is_object($this->hPearDB)){ $this->hPearDB = DB::connect($this->mDsn); $this->hPearDB->query('set names 'utf8''); $this->hPearDB->setFetchMode($fetchMode); if(DB::IsError($this->hPearDB)){ return false; } } return $this->hPearDB;}

//獲取書籍總數(shù)function getBookTotal($TypeId){ $db = $this->_getDBClass(); $sql = 'SELECT COUNT(*) AS total FROM ...'; $rs = $db->getOne($sql); if (DB::isError($rs)) return $rs->getMessage(); else return $rs;}

//獲取所有書籍function getBookFromType($TypeId, $start, $offset){ $db = $this->_getDBClass(); $sql = 'SELECT * FROM ... LIMIT $start,$offset'; $rs = $db->getAll($sql); if (DB::isError($rs)) return $rs->getMessage(); else return $rs;}

}?>

--------------------------------------------------------------------------------

最后再讓我們看一下這個(gè)Type.html模板是如何處理的:

--------------------------------------------------------------------------------{* 插入頭部文件 *}{include file='Cendar/head.html'}<div id='side'><ul> <li>書籍總數(shù):{$BookTotal}</li></ul></div><div id='Book'><h2 class='cata'>書籍具體內(nèi)容</h2><ul>{section name=Book loop=$allBook} <li><a href='http://www.aoyou183.cn/bcjs/show_Book.php?tid={$allBook[Book].id}'>{$allBook[Book].title}</a></li>{sectionelse} <li class='warning'>目前沒有書籍</li>{/section}</ul></div>{* 分頁字符串顯示 *}<div align='right'>{'GBK'|iconv:'utf-8':$pageStr}</div>{* 插入底部文件 *}{include file='Cendar/foot.html'}--------------------------------------------------------------------------------

那么我們抓住重點(diǎn)就知道,我們從PHP程序里能夠控制$pagStr就是我們的分頁字符串,最后它將替換到模板文件里來達(dá)到效果。

基本到這里就明白了如何再模板里進(jìn)行分頁處理了,當(dāng)然,你也可以把分頁功能寫成函數(shù),或者封裝成一個(gè)類,那么就方便四處調(diào)用了。呵呵~~~

(未經(jīng)授權(quán),請勿轉(zhuǎn)載以上代碼)

Author:heiyelurenDate:2005-8-2

標(biāo)簽: PHP
主站蜘蛛池模板: 欧洲黄色网 | 99久久精品免费看国产免费 | 日本在线观看免费看片 | 色视频在线观看视频 | 欧美成人免费草草影院视频 | 成人深夜福利在线播放不卡 | 91进入蜜桃臀在线播放 | 最新在线观看精品国产福利片 | 免费碰碰视频 | 樱花aⅴ一区二区三区四区 樱花草在线社区www韩国 | 99爱在线精品视频免费观看9 | 免费网站在线观看国产v片 免费网站成人亚洲 | 国产一级大片在线观看 | 欧美αv日韩αv亚洲αv在线观看 | 亚洲国产成人久久99精品 | 韩国一级做a爰片性色毛片 韩国一级做a爱性色毛片 | 国产精品爱久久 | 亚洲成人一级 | 国产精品ⅴ视频免费观看 | 一级毛片免费毛片一级毛片免费 | 国产精品视频第一区二区三区 | 青青国产成人精品视频 | 国产精品一区二区久久 | 亚洲国产日韩欧美 | 永久免费在线视频 | 最新国产午夜精品视频成人 | 欧美激情一级毛片在 | 国内精品久久久久久久久 | 国产色| 99久久精品免费国产一区二区三区 | 91大神成人偷拍在线观看 | 在线视频一区二区日韩国产 | 欧美区亚洲区 | 欧美成人午夜不卡在线视频 | 成人精品一区二区www | 国产丝袜按摩女技师在线 | 成在线人免费视频 | 亚洲国产精品久久人人爱 | 免费观看亚洲 | 在线不卡一区 | 日韩欧美中文字幕在线播放 |