laravel 自定义分页样式「建议收藏」

laravel 自定义分页样式「建议收藏」以laravel的默认表users表为例,插入100条数据$arr=[];for($i=0;$i<100;$i++){$arr[]=[‘name’=>’NAME_’.$i,’email’=>”email@{$i}.com”,’password’=>$i,’created_at’=>date(‘Y-m-dH:i:s’),’updated_…

大家好,又见面了,我是你们的朋友全栈君。

文章目的实现laravel分页样式的修改:(样式有点丑)
在这里插入图片描述

以laravel的默认表users表为例,插入100条数据

$arr = [];
for($i=0;$i<100;$i++){
        $arr[] = ['name'=>'NAME_'.$i,'email'=>"email@{$i}.com",'password'=>$i,'created_at'=>date('Y-m-d H:i:s'),'updated_at'=>date('Y-m-d H:i:s')];
    }
    DB::table('users')->insert($arr);

在这里插入图片描述

查询数据渲染到模板

public function test(){
        $users = DB::table('users')->paginate(10);
        return view('paginate',['users'=>$users]);
    }

新建paginate.blade.php文件

<!DOCTYPE html>
<html>
<head>
    <title>Home</title>
    <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.4/css/bootstrap.min.css">
    <style>
        table td,th {
            border: 1px solid #e5e5e5;
            padding: 8px;
        }
        .table{
            width: 100%;
            margin-left: 20%;
        }
    </style>
</head>
<body>

<div >
    <div class="table">
        <h1>用户列表</h1>
        <table>
            <thead>
                <tr>
                    <th>序号</th>
                    <th>名称</th>
                    <th>email</th>
                    <th>创建时间</th>
                    <th>修改时间</th>
                </tr>
            </thead>
            <tbody>
            @foreach($users as $user)
                <tr>
                    <td>{
  
  {$loop->iteration}}</td>
                    <td>{
  
  {$user->name}}</td>
                    <td>{
  
  {$user->email}}</td>
                    <td>{
  
  {$user->created_at}}</td>
                    <td>{
  
  {$user->updated_at}}</td>
                </tr>
            @endforeach
            </tbody>
        </table>
        {
  
  {$users -> links()}}

    </div>
</div>

</body>
</html>

此时的分页为laravel默认的效果
在这里插入图片描述

使用 vendor:publish 命令导出视图文件到resources/views/vendor 目录

php artisan vendor:publish --tag=laravel-pagination

生成多种分页样式模板文件
在这里插入图片描述

此时默认使用pagination文件的第一个分页样式 bootstrap-4.blade.php
Paginator::defaultView(‘vendor.pagination.default’); 可以切换其他的样式

修改箭头符号为 上一页
在这里插入图片描述
修改后效果:
在这里插入图片描述

加一个跳转页数的输入框
在这里插入图片描述

分页blade的代码:

<style>
    .pagination select {
        width: 110px;
        margin-top: -24px;
    }
    .pagination li{
        display: inline-block;
    }
    .pagination input{
        width: 50px;
    }
</style>

@if ($paginator->hasPages())

    <ul class="pagination">

        {
  
  {--添加分页数量选择--}}
        <li class="page-item">
            <select class="form-control" name="perPage" >
                <option value="10" selected>10条/页</option>
                <option value="20" selected>20条/页</option>
                <option value="50" selected>50条/页</option>
                <option value="100" selected>100条/页</option>
            </select>
        </li>

        {
  
  {-- Previous Page Link --}}
        @if ($paginator->onFirstPage())
            {
  
  {--<li class="page-item disabled"><span class="page-link">&lsaquo;</span></li>--}}
            <li class="page-item disabled"><span class="page-link">上一页</span></li>
        @else
            {
  
  {--<li class="page-item"><a class="page-link" href="{
  
  { $paginator->previousPageUrl() }}" rel="prev">&lsaquo;</a></li>--}}
            <li class="page-item"><a class="page-link" href="{
  
  { $paginator->previousPageUrl() }}" rel="prev">上一页</a></li>
        @endif

        {
  
  {-- Pagination Elements --}}
        @foreach ($elements as $element)
            {
  
  {-- "Three Dots" Separator --}}
            @if (is_string($element))
                <li class="page-item disabled"><span class="page-link">{
  
  { $element }}</span></li>
            @endif

            {
  
  {-- Array Of Links --}}
            @if (is_array($element))
                @foreach ($element as $page => $url)
                    @if ($page == $paginator->currentPage())
                        <li class="page-item active"><span class="page-link">{
  
  { $page }}</span></li>
                    @else
                        <li class="page-item"><a class="page-link" href="{
  
  { $url }}">{
  
  { $page }}</a></li>
                    @endif
                @endforeach
            @endif
        @endforeach

        {
  
  {-- Next Page Link --}}
        @if ($paginator->hasMorePages())
            {
  
  {--<li class="page-item"><a class="page-link" href="{
  
  { $paginator->nextPageUrl() }}" rel="next">&rsaquo;</a></li>--}}
            <li class="page-item"><a class="page-link" href="{
  
  { $paginator->nextPageUrl() }}" rel="next">下一页</a></li>
        @else
            {
  
  {--<li class="page-item disabled"><span class="page-link">&rsaquo;</span></li>--}}
            <li class="page-item disabled"><span class="page-link">下一页</span></li>
        @endif

        <li>
            <strong> 跳转到:</strong>
        </li>
        <li>
            <input class="form-control">
        </li>
        <li>
            <strong> 页</strong>
        </li>
    </ul>
@endif

附:
每个分页器实例都可以通过以下方法提供更多分页信息:

$results->count()
$results->currentPage()
$results->firstItem()
$results->hasMorePages()
$results->lastItem()
$results->lastPage() (使用simplePaginate 时无效)
$results->nextPageUrl()
$results->perPage()
$results->previousPageUrl()
$results->total() (使用simplePaginate 时无效)
$results->url($page)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160649.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JVM-内存结构「建议收藏」

    JVM-内存结构「建议收藏」分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netJVM在执行程序的过程中会将内存划分为不同的数据区域,请看下图。如果理解了上图,JVM的内存结构基本上掌握了一半。从图中可以得到如下信息。第一,JVM分为五个区域:虚拟机栈、本地方法栈、方法区、堆、程序计数器。第二,JVM五个区中虚拟机栈、本地方法栈、程序计数器为线程私有,方法区和堆为线程共享区。图中已经用颜色区分。第三,JVM不同区域占用的内

    2022年6月4日
    27
  • resttemplate线程池(websocket connection to failed)

    项目场景:resttemplate调用HttpEntity产生报错传输过程问题描述:提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP中接收数据代码:org.springframework.web.client.RestClientException:Couldnotwriterequest:nosuitableHttpMessageConverterfoundforrequesttype[[Lorg.a.

    2022年4月16日
    79
  • placeholder的样式设置

    placeholder的样式设置在input框中有时想将输入的字和placeholder设为不同的颜色或其它效果,这时就可以用以下代码来对placeholder进行样式设置了。::-webkit-input-placeholder

    2022年7月4日
    25
  • Go语言初见println和fmt.Println区别「建议收藏」

    Go语言初见println和fmt.Println区别「建议收藏」目录println()函数:fmt.println()函数:总结区别:1.包不同:2.输出方式不同:3.方法返回值不同:4.内置print/println函数的调用不能接受数组和结构体参数。5.对于组合类型的参数,内置的print/println函数将输出参数的底层值部的地址,而fmt和log标准库包中的打印函数将输出接口参数的动态值的字面形式。6.如果一个实参有String()string或Error()string方法,那么fmt和log标准库包里的…

    2022年10月2日
    0
  • 产品流量分析

    产品流量分析年底要接的数据需求好多,博客好久没更新了。这次和大家分享一下最近对流量分析的一些理解。流量是产品获得用户的第一步,没有流量就没有转化与营收。对于流量的分析在产品日常运营效果监控中有着非常重要意义。下面我们就流量的来源与流向分析中需要关注哪些指标,展开叙述。这里首先放一张对流量来源和去向的图:从流量来源角度来看,其来源包括直接访问、搜索访问、商务合作以及自媒体等方面:直接访问:用户直…

    2022年6月2日
    34
  • wsl2 固定ip_wsl2 ssh

    wsl2 固定ip_wsl2 ssh给win10下的wsl2设置固定ip地址

    2022年8月31日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号