根據(jù)以往的經(jīng)驗,對于很多初學者,分頁功能實現(xiàn)起來還是有一定的困難的,為了幫大家解決這樣的問題:特此獻上五環(huán)之歌。從此分頁功能便是如小岳岳唱歌一樣簡練,漂亮,精干。哈哈,不閑扯了。正式進入千鋒PHP五環(huán)之歌之步驟實現(xiàn)分頁功能。
第一環(huán):計算總的記錄數(shù)—即總共要顯示多少條數(shù)據(jù)
第二環(huán): 每頁顯示的條數(shù)—即一般都是我們程序媛來規(guī)定每頁顯示幾條數(shù)據(jù)。
第三環(huán): 計算總頁數(shù)—即根據(jù)以上兩個條件便可求出總的頁數(shù),為了防止出現(xiàn)小數(shù),我們都是向上取整。詳情見下面代碼:
第四環(huán): 顯示當前頁面數(shù)—即我們一般在地址欄中需要傳遞一個分頁參數(shù),例如p=5,則5就是當前的頁碼數(shù)。
第五環(huán): 計算偏移量—即這是最關(guān)鍵的一步,以上的步驟就是為求偏移量做鋪墊的。偏移量=(當前頁碼數(shù)-1)* 每頁顯示的條數(shù)
以下是小妹做出的一個實例:
以上鏈接數(shù)據(jù)庫部分省略:
//查詢數(shù)據(jù)得到總共有多少條數(shù)據(jù)
$sql = “SELECT count() FROMtest”;$result = mysqli_query($con,$sql);$count = mysqli_fetch_assoc($result);$count = intval($count[‘count()’]);
//規(guī)定每頁顯示幾條數(shù)據(jù)
$perPage =5;
//計算總頁數(shù),并且向上取整
$pages = ceil($count/$perPage);
//顯示當前頁碼數(shù)
$curPage =isset($_GET[‘p’]) ? min(max((int)$_GET[‘p’],1),$pages) :1;
//最后求偏移量
$offset = ($curPage -1) *$perPage;
//最后通過查詢數(shù)據(jù)使用LIMIT來顯示每頁顯示多條數(shù)據(jù)即可。
$sql = “SELECT *FROM testORDERBY idDESCLIMIT $offset,
$perPage”;
$result = mysqli_query($con, $sql);
寫代碼就要像千鋒PHP口號一樣:傻X一樣的堅持,才能有牛X的結(jié)果。