検索
Thinkphp实现分页May 26, 2016 am 08:20 AM

php代码

//生成分页的方法
//obj是需要分页表的实例化对象,limit是当前页左右显示的条数。
//$map为分页时where 的条件。
//$this->size是我自己类下的变量。为每页显示的条数
    public function CreatePage($obj,$limit,$map=''){
        //总条数
        $totalRows=$obj->where($map)->count();
        //总页数
        $totalPage=(round($totalRows/$limit,0));
        //当前页。 
        $nowPage=I('get.p')?I('get.p'):1;
        if($nowPage>$this->size){
            $start=$nowPage-$this->size;
        }
        else{
            $start=1;
        }
        if($totalPage>($nowPage+$this->size)){
            $end=$nowPage+$this->size;
        }
        else{
            $end=$totalPage;
        }
        if($nowPage==$totalPage){
            $start=$nowPage-$this->size;$end=$totalPage;
        }
        $page['totalRows']=$totalRows;
        $page['totalPage']=$totalPage;
        $page['nowPage']=$nowPage;
        $page['start']=$start;
        $page['end']=$end;
        return $page;//返回给调用处。。赋值。

前端展示页

<!-- 组件 pagechangesss -->
<if condition="$page[&#39;totalPage&#39;] gt 1">
<div class="pagechange">
    <if condition="$page[&#39;nowPage&#39;] gt 1"><a href="{:Q(&#39;p&#39;,($page[&#39;nowPage&#39;]-1))}">上一页</a></if>
    <for start="$page[&#39;start&#39;]" end="$page[&#39;end&#39;]+1">
        <if condition="$i eq $page[&#39;nowPage&#39;]">
            <span class="current">{$i}</span>
            <else/>
            <a href="{:Q(&#39;p&#39;,$i)}">{$i}</a>
        </if>
    </for>
    <if condition="$page[&#39;nowPage&#39;] lt $page[&#39;totalPage&#39;]"><a href="{:Q(&#39;p&#39;,($page[&#39;nowPage&#39;]+1))}">下一页</a></if>
    <input type="text" id="jumpPage" />
    <script>
        var url="{:Q(&#39;p&#39;,($page[&#39;nowPage&#39;]+1))}";
        var nowpage="{$page[&#39;nowPage&#39;]}";
        var totalPage="{$page[&#39;totalPage&#39;]}";
    </script>
    <a href="javascript:void(0)" onclick="page(url,totalPage,nowpage)">跳转</a>
</div>
</if>

调用

$page=$this->CreatePage($this->obj,$this->size,$map);
//此处为TP的查询操作。
$data=$this->obj
    ->where($map)
    ->field(&#39;del,sequence,channel&#39;,true)
    //重点是这里。$page[&#39;nowPage&#39;]页码。
    //$this->size 显示的条数
    ->page($page[&#39;nowPage&#39;],$this->size)
    ->order(&#39;sequence&#39;)
    ->select()
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)