您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

php分页类与分页函数多种分页样式供选择

2024/4/28 23:37:03发布6次查看
/**
* 页面名称:page_class.php*/class page {private $each_disnums; //每页显示的条目数private $nums; //总条目数private $current_page; //当前被选中的页private $sub_pages; //每次显示的页数private $pagenums; //总页数private $page_array = array (); //用来构造分页的数组private $subpage_link; //每个分页的链接/**** __construct是subpages的构造函数,用来在创建类的时候自动运行.* @$each_disnums 每页显示的条目数* @nums 总条目数* @current_num 当前被选中的页* @sub_pages 每次显示的页数* @subpage_link 每个分页的链接* @subpage_type 显示分页的类型** 当@subpage_type=1的时候为普通分页模式* example:共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]* 当@subpage_type=2的时候为经典分页样式* example:当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]*/function page($each_disnums, $nums, $current_page, $sub_pages, $subpage_link) {$this->each_disnums = intval($each_disnums);$this->nums = intval($nums);if (!$current_page) {$this->current_page = 1;} else {$this->current_page = intval($current_page);}$this->sub_pages = intval($sub_pages);$this->pagenums = ceil($nums / $each_disnums);$this->subpage_link = $subpage_link;}/*** 照顾低版本*/function __construct($each_disnums, $nums, $current_page, $sub_pages, $subpage_linke) {$this->page($each_disnums, $nums, $current_page, $sub_pages, $subpage_link);}/*
__destruct析构函数,当类不在使用的时候调用,该函数用来释放资源。*/function __destruct() {unset ($each_disnums);unset ($nums);unset ($current_page);unset ($sub_pages);unset ($pagenums);unset ($page_array);unset ($subpage_link);}/*
用来给建立分页的数组初始化的函数。*/function initarray() {for ($i = 0; $i sub_pages; $i++) {$this->page_array[$i] = $i;}return $this->page_array;}/*
construct_num_page该函数使用来构造显示的条目即使:[1][2][3][4][5][6][7][8][9][10]*/function construct_num_page() {if ($this->pagenums sub_pages) {$current_array = array ();for ($i = 0; $i pagenums; $i++) {$current_array[$i] = $i +1;}} else {$current_array = $this->initarray();if ($this->current_page for ($i = 0; $i $current_array[$i] = $i +1;}}elseif ($this->current_page pagenums && $this->current_page > $this->pagenums - $this->sub_pages + 1) {for ($i = 0; $i $current_array[$i] = ($this->pagenums) - ($this->sub_pages) + 1 + $i;}} else {for ($i = 0; $i $current_array[$i] = $this->current_page - 2 + $i;}}}return $current_array;
}/*
构造普通模式的分页共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]*/function subpagecss1() {$subpagecss1str = ;$subpagecss1str .= 共 . $this->nums . 条记录,;$subpagecss1str .= 每页显示 . $this->each_disnums . 条,;$subpagecss1str .= 当前第 . $this->current_page . / . $this->pagenums . 页 ;if ($this->current_page > 1) {$firstpageurl = $this->subpage_link . 1;$prewpageurl = $this->subpage_link . ($this->current_page - 1);$subpagecss1str .= [首页] ;$subpagecss1str .= [上一页] ;} else {$subpagecss1str .= [首页] ;$subpagecss1str .= [上一页] ;}if ($this->current_page pagenums) {
$lastpageurl = $this->subpage_link . $this->pagenums;$nextpageurl = $this->subpage_link . ($this->current_page + 1);$subpagecss1str .= [下一页] ;$subpagecss1str .= [尾页] ;} else {$subpagecss1str .= [下一页] ;$subpagecss1str .= [尾页] ;}return $subpagecss1str;
}
/*
构造经典模式的分页当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]*/function subpagecss2() {$subpagecss2str = ;$subpagecss2str .= 当前第 . $this->current_page . / . $this->pagenums . 页 ;if ($this->current_page > 1) {
$firstpageurl = $this->subpage_link . 1;$prewpageurl = $this->subpage_link . ($this->current_page - 1);$subpagecss2str .= [首页] ;$subpagecss2str .= [上一页] ;} else {$subpagecss2str .= [首页] ;$subpagecss2str .= [上一页] ;}$a = $this->construct_num_page();
for ($i = 0; $i $s = $a[$i];if ($s == $this->current_page) {$subpagecss2str .= [ . $s . ];} else {$url = $this->subpage_link . $s;$subpagecss2str .= [ . $s . ];}}if ($this->current_page pagenums) {
$lastpageurl = $this->subpage_link . $this->pagenums;$nextpageurl = $this->subpage_link . ($this->current_page + 1);$subpagecss2str .= [下一页] ;$subpagecss2str .= [尾页] ;} else {$subpagecss2str .= [下一页] ;$subpagecss2str .= [尾页] ;}return $subpagecss2str;}}//测试两种不同效果
$t = new page(10, 100, $_get['p'], 5, 'page_class.php?p=');echo $t->subpagecss2(); //调用经典分页函数echo
;
echo $t->subpagecss1();//调用普通分页函数
复制代码
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录