thinkphp分頁使用paginate()方法來實現是十分方便的,但是如果需要對查詢的信息做進一步的處理才能在前臺頁面輸出,就必須通過each()方法,對查詢得到的結果進行遍歷操作。
public?function?faculty() ????{ ????????//查詢院系專業信息 ????????//--查詢院系專業信息 ????????$result=Db::name('sys_faculty')->field('*')->paginate(10,false,[ ????????????'query'=>['user'=>'123','role'=>'student'] ????????])->each(function($item,?$key){ ????????????//在這里對查詢的值進行進一步的整理!!! ???????????$f_faculty=Db::name('sys_faculty')->field('name')->where('id',$item['parentid'])->find(); ???????????$item['faculty']=$f_faculty['name']; ???????????//如果是Db類操作分頁數據的話,each方法的閉包函數中需要使用返回值 ???????????return?$item; ????????}); ????????$this->assign(['result'??=>?$result]); ????????return?$this->fetch(); ????}
直接輸出分頁的話,沒有樣式,不規則,很難看。?
下面可以通過簡單的樣式,改善一下輸出效果:
<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>
效果為:?
立即學習“PHP免費學習筆記(深入)”;
網上有人分享的另一個樣式:
<style> /*分頁*/ .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>
效果為:
我們可以采用不同的樣式,進行自由編寫和調整。
當然也可以增加一些想要展示的內容,例如:符合條件的查詢一共有多少條記錄;?
當然你可以通過重構或者新建一個分頁樣式類
類似這個,以此實現。
當然,你也可以采用比較懶的方法,直接在此文件中修改也可以:?
下面我只簡單的增加一個總記錄數,以做參考:?
那么就會在分頁后,加上這么一個統計:?
本文來自thinkphp框架技術文章欄目:http://www.php.cn/phpkj/thinkphp/
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦