thinkphp分頁(yè)使用paginate()方法來實(shí)現(xiàn)是十分方便的,但是如果需要對(duì)查詢的信息做進(jìn)一步的處理才能在前臺(tái)頁(yè)面輸出,就必須通過each()方法,對(duì)查詢得到的結(jié)果進(jìn)行遍歷操作。
public?function?faculty() ????{ ????????//查詢?cè)合祵I(yè)信息 ????????//--查詢?cè)合祵I(yè)信息 ????????$result=Db::name('sys_faculty')->field('*')->paginate(10,false,[ ????????????'query'=>['user'=>'123','role'=>'student'] ????????])->each(function($item,?$key){ ????????????//在這里對(duì)查詢的值進(jìn)行進(jìn)一步的整理!!! ???????????$f_faculty=Db::name('sys_faculty')->field('name')->where('id',$item['parentid'])->find(); ???????????$item['faculty']=$f_faculty['name']; ???????????//如果是Db類操作分頁(yè)數(shù)據(jù)的話,each方法的閉包函數(shù)中需要使用返回值 ???????????return?$item; ????????}); ????????$this->assign(['result'??=>?$result]); ????????return?$this->fetch(); ????}
直接輸出分頁(yè)的話,沒有樣式,不規(guī)則,很難看。?
下面可以通過簡(jiǎn)單的樣式,改善一下輸出效果:
<style> .page_li{ } .page_li li{ display:inline-block; padding:0px 10px; } .page_li li a{ display:inline-block; padding:0px 4px; color:#0088CC; font-size:small; } .page_li li.active{ color:red; font-size:large; } </style>
效果為:?
立即學(xué)習(xí)“PHP免費(fèi)學(xué)習(xí)筆記(深入)”;
網(wǎng)上有人分享的另一個(gè)樣式:
<style> /*分頁(yè)*/ .pagination {} .pagination li { display: inline-block; margin-right: -1px; padding: 5px; border: 1px solid #e2e2e2; min-width: 20px; text-align: center; } .pagination li.active { background: #009688; color: #fff; border: 1px solid #009688; } .pagination li a { display: block; text-align: center; } </style>
效果為:
我們可以采用不同的樣式,進(jìn)行自由編寫和調(diào)整。
當(dāng)然也可以增加一些想要展示的內(nèi)容,例如:符合條件的查詢一共有多少條記錄;?
當(dāng)然你可以通過重構(gòu)或者新建一個(gè)分頁(yè)樣式類
類似這個(gè),以此實(shí)現(xiàn)。
當(dāng)然,你也可以采用比較懶的方法,直接在此文件中修改也可以:?
下面我只簡(jiǎn)單的增加一個(gè)總記錄數(shù),以做參考:?
那么就會(huì)在分頁(yè)后,加上這么一個(gè)統(tǒng)計(jì):?
本文來自thinkphp框架技術(shù)文章欄目:http://www.php.cn/phpkj/thinkphp/
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END
喜歡就支持一下吧
相關(guān)推薦