1.配置
'base_url'=>'',2.路由'xxx/:page'=>'home/index/index',//xxx可自行替换
//'xxx/:page/:id'=>'home/index/index',//可以多个参数
//'xxx/:page/:id/:year'=>'home/index/index/name/tp5',//可以有额外参数3.Paginator.php里url()约108行if (!empty($parameters)) {
$url .= '?' . urldecode(http_build_query($parameters, null, '&'));
}改为if (!empty($parameters)) {
if (stristr($url, '%') !== false) {//%可更改为能解析的其它字符,但使用的地方都要一致
$additional_parameter = '';
foreach ($parameters as $k => $v) {
if($k=='page'){
$url=str_replace('%', $v, $url);
//$url=sprintf($url,$v);另一种方法替换,'path'值写法'xxx/%u'
continue;
}
$additional_parameter.= '/' . $k . '/' . $v;
}
$url = Url::build('/' . $url . $additional_parameter);
}
else {
$url.= '?' . urldecode(http_build_query($parameters, null, '&'));
}
}4.paginate()第三参数(数组)设置格式$options = [
'page' => $当前页,
'path' => 'xxx/%'//无论参数多少都与路由一致,只将:page的值改为%(无路由按正常编写)
//'path' => 'xxx/%/3/2016',其它参数按需求正常设置
//'query'=>['额外参数1'=>'值1',........],
//'fragment' => 'a',锚点id
];5.效果(多参数,额外参数,锚点等等自行测试url类似server_name/p/2/3/2016/id/4/name/tp5.html#a)
<ul class="pagination">
<li class="disabled"><span>«</span></li>
<li class="active"><span>1</span></li>
<li><a href="server_name/xxx/2.html">2</a></li>
<li><a href="server_name/xxx/3.html">3</a></li>
<li><a href="server_name/xxx/4.html">4</a></li>
<li><a href="server_name/xxx/2.html">»</a></li>
</ul>---------------------------------------------------------------------------------在老大和同仁的帮助下,更新分页
一.控制器方法(变量名自行改为英文)
public function index() {
$page = input('get.page');
if (isset($page) && null !== $page) {
$当前页 = $page;
}
else {
$当前页 = 1;
}
$options=[
'page'=>$当前页,
'path'=>url('index')
];
$数据= \think\Db::name('A')->paginate(10,false,$options);//默认每页是15条数据
$view = new \think\View();
$view->assign('a', $数据);
return $view->fetch();
}二.html代码<style>
.pagination{list-style: none;}
.pagination li{display: inline-block;padding: 2px 8px}
</style>
{volist name="a" id="vo"}
{$vo.id}-{$vo.title}<br>
{/volist}
<div>
{$a->render()}
</div>--------------------------------------------------------------------------一.控制器方法(可以封装调用,变量名自行改为英文)
public function index() {
$page = input('get.page');
if (isset($page) && null !== $page) {
$当前页 = $_GET['page'];
} else {
$当前页 = 1;
}
$每页显示行数 = 3;
$起始页 = $每页显示行数 * ($当前页 - 1);
$数据 = \think\Db::name('A')->limit($起始页, $每页显示行数)->select();
$总行数 = \think\Db::name('A')->count('id');
$bootstrap = new \think\paginator\driver\Bootstrap($数据, $每页显示行数, $当前页, false, $总行数, ['path' => url('index') ]);
$view = new \think\View();
$view->assign('a', $数据);
$view->assign('bootstrap', $bootstrap->render());
return $view->fetch();
}二.html代码<style>
.pagination{list-style: none;}
.pagination li{display: inline-block;padding: 2px 8px}
</style>
{volist name="a" id="vo"}
{$vo.id}-{$vo.name}<br>
{/volist}
<div>
{$bootstrap}
</div> 最佳答案