laravel排序,分页

1.排序

1.1正序

//排序从小到大(正序)
   $res = Post::all()->sortBy('id')->values();

1.2倒序

 //排序从大到小(倒序)
     $res = Post::all()->sortByDesc('id')->values();

2.分页

2.1每页显示几条数据

$res=Post::skip(5)->take(5)->get(); 

skip是跳过几条(从第几条显示)
take是一页里取几条(可以固定)

$page=页码
$pageSize=每页显示的行数
skip的参数的值=($page-1)*$pageSize
ake的参数的值=$pageSize
 	$page=1;
    $pageSize=5;
    $strat=($page-1)*$pageSize;
    $res=Post::skip($strat)->take($pageSize)->get(); 

2.2获取分页的数据

//获取总页数
$this->pageCount();
    return response()->json([
        'data'=>$res,
        'pageCount'=>$this->pageCount
    ]);
}
//获取总页数
public function pageCount(){
    $count= Post::all()->count();
    $this->pageCount=$count % $this->pageSize==0 ? $count/$this->pageSize:floor($count/$this->pageSize)+1;
}

2.3当前页码数

 //声明一个变量表示当前页码
  var page=1

2.4清除数据
防止循环点击一次页数增加一次页数,所以清除数据

// 清除tbody 中的数据
    $('tbody tr').remove()

2.5显示分页标签

 //显示分页标签(淡入)
        $('nav').fadeIn(500)
 //显示分页标签(淡出)
    $('nav').fadeOut(500)

2.6 渲染页码

 function loadPage(pageCount){
    //清空原有的分页标签
    $('.pagination li').remove()
    //上一页
    var pre=`<li>
          <a href="#" aria-label="Previous">
            <span aria-hidden="true">&laquo;</span>
          </a>
        </li>
    `
    $('.pagination').append(pre)
    for(var i=1;i<=pageCount;i++){
      if(i==page){
        var li=` <li class="active" data-page="${i}"><a href="#">${i}<span class="sr-only">(current)</span></a></li>`
      }else{
        var li=` <li data-page="${i}"><a href="javascript:void 0">${i}</a></li>`
      }
     
      $('.pagination').append(li)
    }
   var next=`<li>
          <a href="#" aria-label="Previous">
            <span aria-hidden="true">&raquo;</span>
          </a>
        </li>`
        //下一页
    $('.pagination').append(next)
  }

2.7动态创建分页超链接添加单击事件

$('.pagination').on('click','li',function(event){
  //阻止默认行为
  event.preventDefault()
  // console.log(1)
  //改变page变量的值
  page=$(this).data('page')
  loadData()
})
  //添加文章
  $('#btn-save').on('click', function () {
    var data = { title: $('#title').val(), content: $('#content').val() }
    $.ajax({
      url: 'http://127.0.0.1:8000/posts',
      type: "post",
      data: data,
      dataType: 'json',
      success: function (res) {
        if (res.error == 0) {
          // 重新加载数据
          loadData();
          // 关闭模态框
          $('#myModal').modal('hide')
        }
      }
    })
  })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值