StartMVC开发手册

可以快速上手的开发文档

数据分页

基本参数

pagination($perPage, $page)

$perPage每页数,$page当前页数

$pagination = new \Startmvc\Lib\Pagination;
$pagination->theme = '%header% %first% %prev% %link% %next% %last%';    //可选,设置页码格式,%……%对应的是下面的各属性,%link%为数字页码
$pagination->header = '共 %count% 条记录 第 %page% / %pageCount% 页';    //可选,%count%为数据总数,%page%为当前页,%pageCount%为总页数
$pagination->first = '首页';    //可选,首页链接字符
$pagination->last = '末页';    //可选,末页链接字符
$pagination->prev = '上一页';    //可选,上一页链接字符
$pagination->next = '下一页';    //可选,下一页链接字符
$pagination->currentClass = 'current';    //可选,当前页的数字页码链接CSS类
$pageShow = $pagination->Show(500, 10, 1, 'home/index/list?page={page}', 10);
/*
参数
@count:int 数据总条数
@pageSize: int 每页数据条数
@page: int 当前页数
@url: string 页码链接,用{page}替换页数
@showCount: int 可选,数字页码显示数量,默认10
*/
echo $pageShow;

除了通过上面对象传参外,也可以通过配置进行参数设定,文件位于config/pagination.php

//分页配置
return [
    'theme' => '%header% %first% %prev% %link% %next% %last%',//分页样式
    'header' => 'Total %count% Page %page% / %pageCount%',//分页头部
    'first' => '首页',//首页
    'last' => '末页',//末页
    'prev' => '上一页',//上一页
    'next' => '下一页',//下一页
    'currentClass' => 'is-current',//当前页码类
];

分页实例

namespace App\Home\Controller;
use App\Common\BaseController;

class ArticleController extends BaseController{
	
    public function indexAction(int $page=1)
    {
	    $page=$page?:1;
	    $data['article_list']=$this->db->table('article')->pagination(10,$page)->getAll();
	    $pagination = new \Startmvc\Lib\Pagination;
	    $data['pageShow'] = $pagination->Show(100, 10, $page, '/log/index/{page}', 5);
	    
        $this->view($data);

    }
}

视图代码

<ul>
<?php foreach($article_list as $v){?>
    <li><a href="/"><?=$v['title']?></a></li>
<?php }?>
</ul>
<div class="pages">
	<?=$pageShow?>
</div>

效果图

page.png


更新时间:2020-10-18 12:38:03