主頁(yè) > 知識(shí)庫(kù) > TP3.2框架分頁(yè)相關(guān)實(shí)現(xiàn)方法分析

TP3.2框架分頁(yè)相關(guān)實(shí)現(xiàn)方法分析

熱門(mén)標(biāo)簽:Mysql連接數(shù)設(shè)置 Linux服務(wù)器 阿里云 電子圍欄 團(tuán)購(gòu)網(wǎng)站 服務(wù)器配置 科大訊飛語(yǔ)音識(shí)別系統(tǒng) 銀行業(yè)務(wù)

本文實(shí)例講述了TP3.2框架分頁(yè)相關(guān)實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

需要用到分頁(yè)的繼承這個(gè)控制器即可

?php
namespace Home\Controller;
use Think\Controller;
class BaseController extends Controller {
    /**
     * 基礎(chǔ)分頁(yè)的相同代碼封裝,使前臺(tái)的代碼更少
     * @param $count 要分頁(yè)的總記錄數(shù)
     * @param int $pagesize 每頁(yè)查詢(xún)條數(shù)
     * @return \Think\Page
    */
    function getpage($count, $pagesize = 20,$waps) {
          $Page = new \Think\Page($count,$pagesize,$waps);
     $Page->rollPage = 5;
     $Page->setConfig('header', 'li class="rows">第b>%NOW_PAGE%/b>頁(yè)/共b>%TOTAL_PAGE%/b>頁(yè)/li>');
       $Page->setConfig('prev', '上一頁(yè)');
       $Page->setConfig('next', '下一頁(yè)');
     $Page->setConfig('last', '末頁(yè)');
         $Page->setConfig('first', '首頁(yè)');
         $Page->setConfig('theme', '%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%%HEADER%');
         $Page->lastSuffix = false;//最后一頁(yè)不顯示為總頁(yè)數(shù)
         return $Page;
    }
    /**
     * @param $model     模型
     * @param $map         where條件
     * @param $find      0 select 1=find 2=關(guān)聯(lián)表
     * @return $list     數(shù)組
    */
    function _select($model,$map,$order='',$field="",$find="0",$limit=20,$join,$param){
        $waps = $param;
        if(empty($model)  empty($map)){
            $this->list = array();
        }else{
            if($find == 0){
                $count = $model->where($map)->count();
                $Page = $this->getpage($count,$limit,$waps);
                if($Page->firstRow  0){
                    $Page->firstRow = 0;
                }
                if($order != ""){
                    $this->list = $model->field($field)->where($map)->order($order)->limit($Page->firstRow. ',' . $Page->listRows)->select();
                }else{
                    $this->list = $model->field($field)->where($map)->limit($Page->firstRow. ',' . $Page->listRows)->select();    
                }
                $this->page = $Page->show();
            }else if($find == 1){
                $this->list = $model->field($field)->where($map)->find();
            }else if($find == 3){
                $count = $model->alias("t1")->join($join)->where($map)->count(); 
                $Page = $this->getpage($count,$limit,$waps);
                if($Page->firstRow  0){
                    $Page->firstRow = 0;
                }
                if($order != ""){
                    $this->list = $model->alias("t1")->join($join)->field($field)->where($map)->order($order)->limit($Page->firstRow. ',' . $Page->listRows)->select();
                }else{
                    $this->list = $model->alias("t1")->join($join)->field($field)->where($map)->limit($Page->firstRow. ',' . $Page->listRows)->select();    
                }
                $this->page = $Page->show();
            }else if($find == 4){
                if($order != ""){
                    $this->list = $model->alias("t1")->join($join)->field($field)->where($map)->order($order)->limit($Page->firstRow. ',' . $Page->listRows)->find();
                }else{
                    $this->list = $model->alias("t1")->join($join)->field($field)->where($map)->limit($Page->firstRow. ',' . $Page->listRows)->find();    
                }
            }
            $this->limit = $Page->firstRow;
            $this->assign("listinfo",$this->list);
            $this->assign("page",$this->page);
            return($this->list);
        }
    }
}

控制器中先繼承后使用。

if($this->txt_keyword){
    $where['m_title'] = array('like','%'.$this->txt_keyword.'%');
}
 
$where['status'] = $param['status'] = 0;
$this->_select($this->information_mod,$where,'','*',0,10,'',$param);
$this->display();

模板中

div class="hg_page" >
   {$page}
/div>

分頁(yè)樣式

style>
 .hg_page .first, .hg_page .current, .hg_page .num, .hg_page .next, .hg_page .end, .hg_page .rows, .hg_page .prev{
  float: left;
  height: 37px;
  padding: 0 15px;
  border: 1px solid #e5e5e5;
  line-height: 37px;
  margin: 0 3px;
 }
 .hg_page{
  text-align: center;
  height: 37px;
  margin:0 auto;
  margin-top: 30px;
  margin-bottom: 20px;
  width: 800px;
 }
/style>

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《ThinkPHP入門(mén)教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門(mén)教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門(mén)教程》及《PHP模板技術(shù)總結(jié)》。

希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • tp5框架內(nèi)使用tp3.2分頁(yè)的方法分析
  • tp5框架無(wú)刷新分頁(yè)實(shí)現(xiàn)方法分析
  • TP5框架實(shí)現(xiàn)自定義分頁(yè)樣式的方法示例
  • ThinkPHP分頁(yè)類(lèi)使用詳解
  • ThinkPHP 3.2 數(shù)據(jù)分頁(yè)代碼分享
  • Thinkphp搜索時(shí)首頁(yè)分頁(yè)和搜索頁(yè)保持條件分頁(yè)的方法
  • thinkPHP5分頁(yè)功能實(shí)現(xiàn)方法分析
  • ThinkPHP3.2.3實(shí)現(xiàn)分頁(yè)的方法詳解
  • 在Thinkphp中使用ajax實(shí)現(xiàn)無(wú)刷新分頁(yè)的方法
  • Thinkphp和Bootstrap結(jié)合打造個(gè)性的分頁(yè)樣式(推薦)
  • thinkPHP5框架分頁(yè)樣式類(lèi)完整示例
  • thinkPHP3.2實(shí)現(xiàn)分頁(yè)自定義樣式的方法

標(biāo)簽:蚌埠 大理 衡水 衢州 棗莊 廣元 江蘇 萍鄉(xiāng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《TP3.2框架分頁(yè)相關(guān)實(shí)現(xiàn)方法分析》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266