1樓:龍氏風采
在thinkphp的框架下實現分頁。公司的**基於thinkphp框架,一直久聞thinkphp的大名,終於有機會實戰了。thinkphp是mvc架構的,mvc對於任何iters來說都不陌生,模型(model)-檢視(view)-控制器(controller)。
他將邏輯和資料分開處理,少了很多繁瑣的過程。其實在官方的資料中已經詳細的介紹了怎麼分頁,傳送門:http:
//document.thinkphp.cn/manual_3_2.
html#data_page
可是並不適用於資料已經從db中取出,並且轉換為陣列的情況,我接觸php滿打滿算2個月,接觸thinkphp不過3周。之前把很多時間花在了官方文件上,去熟悉thinkphp。也算是磨刀不誤砍柴工吧。
這裡把官方文件當作比較進行闡述:
(只舉文件上第乙個方法):利用page類和limit方法,**如下:
複製** **如下:
$user = m('user'); // 例項化user物件
$count= $user->where('status=1')->count();// 查詢滿足要求的總記錄數
$page = new \think\page($count,25);// 例項化分頁類 傳入總記錄數和每頁顯示的記錄數(25)
$show = $page->show();// 分頁顯示輸出
// 進行分頁資料查詢 注意limit方法的引數要使用page類的屬性
$list = $user->where('status=1')->order('create_time')->limit($page->firstrow.','.$page->listrows)->select();
$this->assign('list',$list);// 賦值資料集
$this->assign('page',$show);// 賦值分頁輸出
$this->display(); // 輸出模板
基本思想就是先計算總的記錄數,然後根據所設定的每頁顯示的記錄數來分頁。使用thinkphp封裝好的page類可以很方便的實現。實現的重點在第11行,limit方法就是按照一定的規則從查詢資料中抽取資料。
但是資料已經取出又怎麼辦呢?
我們用到了php自帶的函式array_slice( )。定義在此:http:
array-slice.php
其實就是陣列版的limit方法。好了,工具找到了,實現就很容易了。直接上**:
複製** **如下:
public function nodeslist()
**有刪減,只保留實現細節。
第3行getnodelists方法從資料庫中取出資料並賦值給陣列nodelist。
第5行count計算出陣列元素的個數。
第6行為page類傳入引數。
第7行的array_slice函式代替了limit方法。原理相同。
第9行用assign方法為模版賦值。定義在此
第10行同理。
下面是view中的**:
複製** **如下:
2樓:
function array_page($array,$rows)
//使用該函式即可實現分頁
3樓:匿名使用者
你可以看看tp 提供的分頁類,tp手冊裡有
4樓:匿名使用者
可以啊 可以用tp的分頁類啊
thinkphp做分頁 為什麼下面頁碼顯示array
5樓:顏家小癲
那傳到view的那個$page本身就是陣列 你沒把陣列開啟
6樓:匯包裝
變數 dump()出來看看
thinkphp怎麼讓實現資料分頁
7樓:只為你66守候
function accomplish_indent() 你看過後很簡單吧以後不會可以向我一樣經常到後盾人找找相關教材看看就會了,希望能幫到你,給個採納吧謝謝@(/o・ェ・o)@/
thinkphp讀取資料怎麼分頁顯示
8樓:匿名使用者
不確定正確性,但是確實可行,讀取快取後賦值到陣列,通過array_slice函式處理,如:
$blog = s('blogname'); //賦值$count = count($blog); //條數統計$page = new page($count,12); //例項化page類
$this -> blog = array_slice($blog,$page->firstrow,$page->listrows); //分配到模板
$this -> page = $page -> show();
$this -> display();
thinkphp 用oracle資料庫 可系統提示不支援or
根據官方解釋,之所以不支援oracle,是因為還沒實現基於oracle下的標準model方法。實際你要用,也是可以的,開啟下啟用oracle的開關,具體我記不得啦,應該就在model裡。開啟後,需要注意的是,如上面所述,你不能使用model裡部分通用的方法,如limit。所以需要在寫程式的時候特別注...
thinkphp5中的與原本的i方法用什麼東西替代了
懿灬芫 過去的單字母函式已完全被替換掉,如下 s cache,c config,m d model,u url,i input,e exception,l lang,a controller,r action thinkphp是為了簡化企業級應用開發和敏捷web應用開發而誕生的。最早誕生於2006年...
什麼因素可以影響填土壓實
壓實功,含水量。填土壓實後的重度與壓實機械在其上所施加的功有一定的關係。當土的含水量一定,在開始壓實時,土的重度急劇增加,待到接近土的最大重度時,壓實功雖然增加許多,而土的重度則沒有變化。較為乾燥的土,由於土顆粒之間的摩阻力較大而不易壓實。當土具有適當含水量時,水起了潤滑作用,土顆粒之間的摩阻力減小...
南瓜和欠實能一起吃嗎,欠實可以和小公尺南瓜一起煮
南瓜與羊肉相剋 一起吃很容易引起身體出現腹脹 便秘等等一些病症 南瓜與紅薯相剋 同食容易導致身體出現腸胃氣脹 腹痛 吐酸水等症狀 南瓜與富含維生素c的食物相剋 南瓜會破壞這些食物的營養價值 南瓜與蝦 蟹等物相剋 可能會引起身體的不適 南瓜與醋相剋 它兩一起食用會破壞南瓜中的營養物質。南瓜與什麼相剋,...
怎樣可以瘦胸部,如何讓胸部更緊實
瘦胸部可以從以下的運動進行入手 1.臂慢上舉,由前至上舉,由前慢下落,每次做20 30次 或盡力做,不限制 要求上體直,臂直,肩自然,有上提胸肌群的感覺.2.兩肘側曲於肩側,緩慢地由前,向上,向後,向下繞環,做8 10次後,再向相反方向繞環.要求上體和頭正直.3.兩臂曲肘放於胸前,右手盡量慢上推,右...