分页
SQL
的LIMIT
用法
select * from table limit 起始位置,获取条数
- 分页公式
(当前页码 - 1) × 每页条数,每页条数
select * from table limit ($Page - 1)*$PageSize,$PageSize
Laravel
的分页方法
// 1. Member表示模型,paginate()是分页方法,参数2表示每页显示2条数据
$data = Member::paginate(2);
// 2. 在试图中输出分页链接
// 如果在页面中引入了Bootstrap会自动美化页面
{{ $data->links() }}
Bootstrap
的cdn
: 3.3.7版本
<!-- 新 Bootstrap 核心 CSS 文件 -->
<!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
举例
// 1. Route
Route::any('/page','PageController@showPageView');
// 2.Controller
public function showPageView(Request $request){
$website = new Website();
//$dataList = $website::all();
//$dataList = Website::paginate(5);
// 第几页 假数据 一般Request获取
$page = 3;
$PageSize = 5;
//当前页面,默认第一页
$Page = isset($page) ? $page : 1;
//翻页公式
$startRow = ($Page - 1) * $PageSize;
// Laravel 实现
$dataList = $website->offset($startRow)->limit($PageSize)->get();
return view('page', ['dataList' => $dataList]);
}
// 3. laravel
$dataList = Website::paginate(5);
return view('page', ['dataList' => $dataList]);
// 4. page.balde.php
@foreach($dataList as $data)
<tr>
<td> {{$data->id}}</td>
<td> {{$data->title}} </td>
<td> <a href="{{$data->url}}">链接</a></td>
<tr>
@endforeach
{{ $dataList->links() }} // 视图中输出分页链接
没错,我的页面就是这么潦草。