以往用原生時,若要在專案上使用分頁,後端**經常要一整頁,現在使用thinkphp之後才發現曾經複雜的後端**簡單到了極致,直接用官方提供的paginate() 方法就可以很簡單的實現了,廢話少說,接下來用**實現乙個完整的電腦端分頁功能。
首先,引入layui檔案(我這裡是放在public裡面的web_static資料夾下,並全域性使用,建議新手也全域性使用,不然可能要寫很多相容樣式,之前寫乙個站的相容的時候真的太痛苦了)
<接下來是html頁面link
rel="stylesheet"
href
="/web_static/layui/css/layui.css"
/>
<上面foreach內的內容是要迴圈的資料,因為下面會用到,所以先說明。div
style
="width: 1200px;margin: 0 auto;"
>
<
div>
<
div
id="allguests"
style
="display: flex;flex-direction: row;flex-wrap: wrap"
>
<
div
style
="width: 30%;margin: 20px;box-sizing: border-box;border: 1px solid #e2e2e2;border-radius: 10px;overflow: hidden;"
>
<
a href
="">
<
img
style
="width: 100%;height: 300px;object-fit: cover;"
src=""
>
<
div
style
="text-align: center;font-size: 18px;line-height: 50px;"
>
div>
a>
div>
div>
<
div
style
="width:1200px;text-align:center;margin: 0 auto;"
>
<
div
id="paging"
class
="paging"
style
="background-color: transparent;"
>
div>
div>
div>
div>
然後就是js部分了(這裡和上面的html是寫在同一頁面的,js要分開的同學需要自己處理一下),$list表示獲取到的後端資料,下方
foreach內的內容與上面foreach內的內容一樣,但是轉成了js可以輸出的形式,tp的模板也跟著做了一些變化
<接下來就是後端了,在寫後端之前先給大家貼一下我定義的路由,免得等下大家找不到對應的方法script
>
layui.use(
'laypage',
function
() '
, limit:
10, curr: ''
, layout: [
'count',
'prev',
'page',
'next',
'skip']
, theme:
'pageclass'//
生成乙個類名為layui-laypage-pageclass的類,方便使用css對其進行樣式修改
, jump:
function
(obj, first) }).then(
function
(res) );
document.getelementbyid(
'allguests
').innerhtml
=html;
varnewurl ="
?page="+
obj.curr;
varstateobject =0
;
vartitle ="
0"; history.replacestate(stateobject, title, newurl);
document.documentelement.scrolltop
=655
; document.body.scrolltop
=655
; });}}
});});
script
>
route::get('web/demo','index/demo/demo'); //主頁面thinkphp部分controller控制器($page為起始頁,$pagesize為每頁最多資料條數,$pagesize的值應與js中limit的值相同)route::get('web/demo/list','index/demo/demolist'); //分頁
publicmodel模型function demo($page = 1, $pagesize = 10)
//分頁一部分
public
function demolist($page = 1, $pagesize = 10)
publicstatic
function getdemo($page, $pagesize
)
.layui-laypage-pageclass span.layui-laypage-pageclass .layui-laypage-count.layui-laypage-pageclass .layui-laypage-curr.layui-laypage-pageclass .layui-laypage-curr .layui-laypage-em.layui-laypage-pageclass .layui-laypage-curr em.layui-laypage-pageclass a.layui-laypage-pageclass .layui-laypage-skip.layui-laypage-pageclass .layui-input.layui-laypage-pageclass .layui-laypage-btn好了,這樣就修改完成了,以下是最終效果, 資料也是會跟著變化的,這裡不便展示,先和大家說一聲
ThinkPHP5 1鉤子和行為
tp5.1的行為是乙個比較抽象的概念,執行的流程使用者的註冊,登入,退出登入等等都可以作為乙個行為。而不同的行為之間也具有位置共同性,比如,有些行為的作用位置在使用者註冊後,在登入之後,退出登入之後,等等有些行為的作用位置都是在應用執行前,有些行為都是在模板輸出之後,把這些行為發生作用的位置稱之為鉤...
thinkphp5 1 匯入excel檔案
public function importexcel 限制上傳 型別 ext substr strrchr files file name 1 if ext xls ext xlsx 讀取 filename files file tmp name reader iofactory createre...
ThinkPHP5 1學習 模組設計
一 目錄結構 thinkphp5.1 預設是多模組架構,也可以設定為單模組操作 手冊摘入的結構列表 多模組設計在 url 訪問時,必須指定響應的模組名,比如 public test abc eat 如果你只有 test 這乙個模組時,你可以繫結這個模組,從而省略寫法 此時,url 呼叫就變成了 pu...