国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

優化重寫ecshop分頁get_pager函數

2024-04-25 20:38:15
字體:
來源:轉載
供稿:網友

在ecshop分頁的時候要按照自己的需求分頁,所有在ecshop原有的get_pager分頁函數基礎上進行了修改:

function my_get_pager($url,$param,$record_count,$page = 1,$size = 10){

$size =intval($size);//每頁顯示幾條記錄

if($size<1){ //如果每頁顯示的記錄小于1的話

$size = 10;//將每頁顯示記錄條數設置為10

}

$page = intval($page);///當前頁碼

if ($page < 1) ///如果當前頁碼小于1的話

{

$page = 1;///將當前頁碼默認設置為1

}

$record_count = intval($record_count);///記錄總數量

$page_count = $record_count > 0 ? intval(ceil($record_count / $size)) : 1; ///總頁數

if ($page > $page_count) ///如果當前頁碼大于總頁數

{

$page = $page_count;///則將總頁數賦值給當前頁碼

}

$page_prev = ($page > 1) ? $page – 1 : 1; ///前一頁

$page_next = ($page < $page_count) ? $page + 1 : $page_count; ///后一頁

/* 將參數合成url字串 */

$param_url = '?'; ///參數組成的url字符串 如:"?act=list"

foreach ($param AS $key => $value) ///鍵值對數組參數

{

$param_url .= $key . '=' . $value . '&'; ///"?號后面的參數"

}

$pager['url'] = $url; ///第一個參數,是一個文件名 如:get_comment.php

$pager['start'] = ($page -1) * $size; ///查詢時的起始位置

$pager['page'] = $page; ///當前頁

$pager['size'] = $size; ///每頁顯示的記錄條數

$pager['record_count'] = $record_count; ///記錄總數

$pager['page_count'] = $page_count; ///總頁數

$_pagenum = 10; // 顯示的頁碼

$_offset = 2; // 當前頁偏移值

$_from = $_to = 0; // 開始頁, 結束頁

if($_pagenum > $page_count) ///如果顯示的頁碼 大于 總頁數,如:顯示10頁 總頁數為8 則顯示1-8

{

$_from = 1; ///從1開始

$_to = $page_count; ///到 總頁數 為止

}

else ///如果 顯示的頁碼 小于 總頁碼,如:顯示10頁 總頁數為15

{///(1)假如當前頁為2,則$_from為0,$_to為9 (2)假如當前頁為6,則$_from為4,$_to為13

$_from = $page – $_offset; ;///(1)$_from為0 (2)$_from為4 當前頁-當前頁偏移量,如: 1-10、2-11、3-12、4-13、5-14、6-15、不會出現7-16、8-17,因為總頁數是15//www.zuimoban.com

$_to = $_from + $_pagenum – 1; ///(1)$_to為9 (2)$_to為13

if($_from < 1)

{

$_to = $page + 1 – $_from; ///(1)則$_to為3

$_from = 1; ///(1)$_from重新復制為1

if($_to – $_from < $_pagenum) //(1)3-1 小于 要顯示的頁碼數

{

$_to = $_pagenum; ///(1)則$_to重新復制為10

}

}

elseif($_to > $page_count) //(2)如果13 大于 10的話 如果14 大于 10的話

{

$_from = $page_count – $_pagenum + 1; ///(2)$_from為起始頁數:15-10+1=6

$_to = $page_count; //(2)$_to為總頁數:15

}

}

$url_format = $url . $param_url . 'page=';

$pager['page_first'] = ($page – $_offset > 1 && $_pagenum < $page_count) ? $url_format . 1 : '';

$pager['page_prev'] = ($page > 1) ? $url_format . $page_prev : '';

$pager['page_next'] = ($page < $page_count) ? $url_format . $page_next : '';

$pager['page_last'] = ($_to < $page_count) ? $url_format . $page_count : '';

$pager['page_number'] = array();

for ($i=$_from;$i<=$_to;++$i)

{

$pager['page_number'][$i] = $url_format . $i;

}

return $pager;

};

返回的$pager 數組里面包含了第一頁/末頁 、上一頁/下一頁 已經分頁顯示的碼數及地址,賦值到前端頁面即可實習自定義分頁!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彰化县| 峨眉山市| 福贡县| 南澳县| 盘锦市| 平罗县| 方山县| 邹平县| 宜黄县| 工布江达县| 民县| 时尚| 疏勒县| 开封市| 德钦县| 饶平县| 万盛区| 英吉沙县| 进贤县| 鹿邑县| 霍州市| 门头沟区| 灵山县| 北辰区| 临江市| 当涂县| 大连市| 仁怀市| 丽水市| 孝昌县| 峨山| 塔河县| 封丘县| 中山市| 涪陵区| 读书| 天等县| 务川| 星子县| 小金县| 沂源县|