laravel 數據分頁簡單示例


控制器代碼:只需用paginate($pageSize)方法查詢數據即可

$pageSize:每頁顯示的記錄數

    public function index()
    {
        $data = Member::paginate(10);
        return view('home.member.index')->with(compact('data'));
        /*
         * 分頁數據對象的其他方法:
         * 分頁數據對象->links() 生成分頁鏈接
         * 分頁數據對象->count() 當前頁數據條數
         * 分頁數據對象->total() 總條數
         * 分頁數據對象->currentPage() 當前頁碼
         * 分頁數據對象->firstItem() 當前頁第一條數據的序號
         * 分頁數據對象->lastItem() 當前頁最后一條數據的序號
         * 分頁數據對象->hasMorePages() 是否有后續頁碼
         * 分頁數據對象->lastPage() 最后頁序號
         * 分頁數據對象->nextPageUrl() 下一頁的鏈接地址
         * 分頁數據對象->previousPageUrl() 上一頁的鏈接地址
         * 分頁數據對象->perPage() 每頁顯示的數據條數
         * 分頁數據對象->url(5) 指定頁碼的鏈接地址
         * */
    }

前端代碼:使用分頁數據對象->links()方法生成分頁鏈接

<table style="border: 1px solid black">
    <thead>
        <tr>
            <th>id</th>
            <th>姓名</th>
            <th>年齡</th>
            <th>郵箱</th>
            <th>頭像</th>
        </tr>
    </thead>
    <tbody>
    @foreach($data as  $k=>$v)
        <tr>
            <td>{{$v->id}}</td>
            <td>{{$v->name}}</td>
            <td>{{$v->age}}</td>
            <td>{{$v->email}}</td>
            <td><img src="{{ltrim($v->avatar,'.')}}" alt="頭像" width="50px"></td>
        </tr>
    @endforeach
    </tbody>
</table>
{{--生成分頁鏈接--}}
{{$data->links()}}

如果修改“<<”和“>>”為文字“上一頁”、“下一頁”:

需要修改模板文件:vendor\laravel\framework\src\Illuminate\Pagination\resources\views\default.blade.php

相應修改處為:

 

分頁樣式美化:

    <style type="text/css">
        #pull_right{
            text-align:center;
        }
        .pull-right {
            /*float: left!important;*/
        }
        .pagination {
            display: inline-block;
            padding-left: 0;
            margin: 20px 0;
            border-radius: 4px;
        }
        .pagination > li {
            display: inline;
        }
        .pagination > li > a,
        .pagination > li > span {
            position: relative;
            float: left;
            padding: 6px 12px;
            margin-left: -1px;
            line-height: 1.42857143;
            color: #428bca;
            text-decoration: none;
            background-color: #fff;
            border: 1px solid #ddd;
        }
        .pagination > li:first-child > a,
        .pagination > li:first-child > span {
            margin-left: 0;
            border-top-left-radius: 4px;
            border-bottom-left-radius: 4px;
        }
        .pagination > li:last-child > a,
        .pagination > li:last-child > span {
            border-top-right-radius: 4px;
            border-bottom-right-radius: 4px;
        }
        .pagination > li > a:hover,
        .pagination > li > span:hover,
        .pagination > li > a:focus,
        .pagination > li > span:focus {
            color: #2a6496;
            background-color: #eee;
            border-color: #ddd;
        }
        .pagination > .active > a,
        .pagination > .active > span,
        .pagination > .active > a:hover,
        .pagination > .active > span:hover,
        .pagination > .active > a:focus,
        .pagination > .active > span:focus {
            z-index: 2;
            color: #fff;
            cursor: default;
            background-color: #428bca;
            border-color: #428bca;
        }
        .pagination > .disabled > span,
        .pagination > .disabled > span:hover,
        .pagination > .disabled > span:focus,
        .pagination > .disabled > a,
        .pagination > .disabled > a:hover,
        .pagination > .disabled > a:focus {
            color: #777;
            cursor: not-allowed;
            background-color: #fff;
            border-color: #ddd;
        }
        .clear{
            clear: both;
        }
    </style>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM