Laravel5.1 框架分页展示实现方法实例分析

本文实例讲述了Laravel5.1 框架分页展示实现方法。分享给大家供大家参考,具体如下:

Laravel为我们提供了一套分页的逻辑,我们无需自己实现分页逻辑,只需要执行几个简单的方法就能实现漂亮的分页。

1 simplePaginate

这是一种只显示上一页下一页的样式分页,我们来看看怎么用:

class PostController extends Controller
{
  public function index()
  {
//    $posts = Post::simplePaginate(10);   这是Model的版本
    /**
     * simplePaginate
     * 第一个参数:每页显示多少条数据。
     * 第二个参数:(可选)查询的字段 默认是*
     * 第三个参数:(可选)页码名称 默认是page
     */
    $posts = DB::table('posts')->simplePaginate(10);
    return view('post.index', compact('posts'));
  }
}

然后在blade模板中用$posts->render()显示:

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" >
</head>
<body>
<div class="container">
  <h1>Posts</h1>
  <hr>
  <ul>
    @foreach($posts as $post)
      <li>
        <h4>{{ $post->title }}</h4>
        <p>{{ str_limit($post->content) }}</p>
      </li>
    @endforeach
  </ul>
  {!! $posts->render() !!}
</div>
</body>
</html>

2 Paginate

这是一个自带页码的样式分页。

class PostController extends Controller
{
  public function index()
  {
//    $posts = Post::paginate(10);   这是Model的版本
//    $posts = Post::where('create_at', '<', Carbon::now())->paginate();  可以在where等逻辑后使用
    /**
     * simplePaginate
     * 第一个参数:每页显示多少条数据。
     * 第二个参数:(可选)查询的字段 默认是*
     * 第三个参数:(可选)页码名称 默认是page
     * 第四个参数:(可选)代表第几页 默认是null
     */
    $posts = DB::table('posts')->orderBy('created_at', 'desc')->paginate(10);
    return view('post.index', compact('posts'));
  }
}

然后在blade模板中用$posts->render()显示:

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" >
</head>
<body>
<div class="container">
  <h1>Posts</h1>
  <hr>
  <ul>
    @foreach($posts as $post)
      <li>
        <h4>{{ $post->title }}</h4>
        <p>{{ str_limit($post->content) }}</p>
      </li>
    @endforeach
  </ul>
  {!! $posts->render() !!}
</div>
</body>
</html>

更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

(0)

相关推荐

  • Laravel实现ORM带条件搜索分页

    Laravel条件搜索一般使用where方法,如下: 查询构造器: $users = DB::table('users')->where('votes', '=', 100)->get(); 或者ORM: $users = User::where('votes', '=', 100)->all(); 当有多个条件时,可以多次调用where方法: $articles = Article::where('id','>','10')->where('is_auth','=','1'

  • 在Laravel中实现使用AJAX动态刷新部分页面

    AJAX相信大家都不陌生,有很多不同的Javascript Frameworks可以用来快速实现AJAX功能.那么今天我们一起来看一下如何在使用了PHP Frameworks的网站中使用AJAX来刷新页面的一小部分. 这里我使用的是jQuery + Laravel(当然如果使用了其他框架,基本的概念也是不变的).如图,假设我们制作了一个页面来管理客户的茶叶消耗: 我们想制作一个模块来动态为每一个新的茶叶消耗增加一个消耗选择区,即点击新增消耗后,会动态增加一个新的茶叶消耗区域: 另外,当点击删除该

  • PHP框架Laravel插件Pagination实现自定义分页

    Laravel 的分页很方便,其实扩展起来也挺容易的,下面就来做个示例,扩展一下 paginate() 和 simplePaginate() 方法,来实现我们自定义分页样式,比如显示 "上一页" 和 "下一页" ,而不是 "<" 和 ">" ,当然扩展的方法掌握了你就可以肆无忌惮的扩展一个你想要的分页了,比如跳转到某一页,分页显示一共多少记录,当前显示的记录范围等等巴拉巴拉的... 5.1和5.2应该是同样的方法,

  • Laravel实现搜索的时候分页并携带参数

    筛选分页每页的条数: <select class="form-control" id="perPage" name="perPage"> @foreach ( [10,20,30,50] as $e) <option value="{{$e}}" {{ $e==request('perPage') ? 'selected' : '' }} >{{$e}}</option> @endforea

  • Laravel框架搜索分页功能示例

    本文实例讲述了Laravel框架搜索分页功能.分享给大家供大家参考,具体如下: 控制器controller /** * 文章搜索 * * @author YING * @param void * @return void */ public function mesArticleSearch() { //接值 $input=Input::get(); //调用模型查询 //实例化类 $cate=new Article(); //调用自定义方法 查询分类 $artInfo=$cate->searc

  • laravel自定义分页的实现案例offset()和limit()

    情景:因个人使用layui在开发后台模块,因为layui自带了table模块,是都封装了分页的,并且返回数据格式也是有固定要求的 所以我们就不能去使用laravel的快速分页paginate去分页了, 只能使用offset()和limit()一起使用去实现自定义分页功能 一下为我实现的代码 $pagenNum=request('page'); $limit=request('limit'); $count=Admin::count(); $page=$pagenNum-1; if ($page

  • Laravel+jQuery实现AJAX分页效果

    本文实例讲述了Laravel+jQuery实现AJAX分页效果.分享给大家供大家参考,具体如下: JavaScript部分: //_______________________ // listener to the [select from existing photos] button $('#photosModal').on('shown.bs.modal', function () { // get the first page of photos (paginated) getPhoto

  • Laravel5.5 手动分页和自定义分页样式的简单实现

    基于Laravel5.5 在项目实施过程中,需要对从接口中获取的数据(或者通过搜索工具查询出来的数据)进行分页 一.创建手动分页 在laravel自带的分页中,一般是通过数据库查询访问paginate()方法来达到分页的效果 ,like this: class IndexControllerextends Controller { publicfunctionindex() { $person = DB::table('person')->paginate(15); return view('i

  • Laravel框架执行原生SQL语句及使用paginate分页的方法

    本文实例讲述了Laravel框架执行原生SQL语句及使用paginate分页的方法.分享给大家供大家参考,具体如下: 1.运行原生sql public function getList($data){ //获取前端传过来的参数 $user = $data['userId']; $office = $data['officeId']; $key = $data['oneKeySearch']; //进行模糊搜索和联合查询 $where = 'and 1=1 '; if($key!=null) {

  • laravel实现分页样式替换示例代码(增加首、尾页)

    前言 本文主要给大家介绍了关于laravel分页样式替换的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 方法如下: 一.自定义一个类(代码如下),位置随你放,注意命名空间. 二.模板输出调用 {!! $data->render(new \App\Http\Controllers\ShmilyThreePresenter($data)) !!} 最终样式 实现代码 <?php //创建继承自 Illuminate\Pagination\BootstrapThreeP

  • laravel自定义分页效果

    对于laravel分页,自带一个paginate的方法,很好用,但是也是有局限性的. 所以自己针对于此写了一个自己的分页,具体代码如下 <?php namespace ...; use ...; /** * 自定义分页类,适合少数据的查询,多数据的时候不推荐 * Class CustomPaginate * @package App\Tools\Paginate */ class CustomPaginate { /** * 自定义数组分页 * @param $data = 返回结果 * @pa

  • Laravel手动分页实现方法详解

    本文实例讲述了Laravel手动分页实现方法.分享给大家供大家参考,具体如下: 这里的演示实例基于Laravel的5.2版本 在开发过程中有这么一种情况,你请求Java api获取信息,由于信息较多,需要分页显示.Laravel官方提供了一个简单的方式paginate($perPage),但是这种方法只适用model.查询构建器. 今天说下 给定一个数组如何实现 和paginate方法一样的效果. 查看paginate方法源码 #vendor/laravel/framework/src/Illu

随机推荐