如何在标签内添加分页

时间:2016-07-11 17:51:24

标签: javascript php laravel oracle11g bootstrapping

我是laravel 5.2的新手。我只是想问一下如何在标签内添加分页。在我的界面中有5个选项卡,eack选项卡显示数据库中的5个表。我使用的数据库是oracle。在我的界面中,我为第一个标签添加了paginatiins并且它成功运行。(我添加了simplepagination方法)

但是当我向第二个选项卡分页添加相同的方法时,当我点击该分页上的下一个按钮时,它指向第一个选项卡的第二页而不是第二个选项卡的第二页。如果有人能帮我解决这个问题,我真的很感激。

谢谢

3 个答案:

答案 0 :(得分:1)

我'假设您使用的是Pagination

你可以这样做:

$allUser = User::paginate(2, ['*'], 'user');
$allRole = Role::paginate(2, ['*'], 'role');

return response()->json(array($allUser,$allRole));

现在你得到类似的东西:

[
  {
    "total": 17,
    "per_page": 2,
    "current_page": 1,
    "last_page": 9,
    "next_page_url": "http://urlsite/api/v1/user?user=2",
    "prev_page_url": null,
    "from": 1,
    "to": 2,
    "data": [
      {
        "id": 1,
        "role_id": 1,
        "username": "test",
        "first_name": "test",
        "last_name": "test",
        "email": "test@gmail.com"
      },
      {
        "id": 2,
        "role_id": 2,
        "username": "test2",
        "first_name": "test",
        "last_name": "test",
        "email": "test@hotmail.com"
      }
    ]
  },
  {
    "total": 4,
    "per_page": 2,
    "current_page": 1,
    "last_page": 2,
    "next_page_url": "http://urlsite/api/v1/user?role=2",
    "prev_page_url": null,
    "from": 1,
    "to": 2,
    "data": [
      {
        "id": 1,
        "name": "superuser"
      },
      {
        "id": 2,
        "name": "administrator"
      }
    ]
  }
]

答案 1 :(得分:1)

假设您使用的是“引导程序”标签面板,则可以像这样对每个标签进行分页:

首先,您无需更改控制器中的代码,只需使用默认的分页功能->paginate(15);

但是在视图中,对于分页链接,您需要将代码更改为此:

{{ $balances->fragment('tab_id')->links() }}

fragment('tab_id')部分将分页URL更改为..?page=1#tab_id

然后,当页面重新加载以显示其他页面时,您可以执行此操作以打开所需的标签:

$(document).ready(function(){

   var url = document.location.toString();
    if (url.match('#')) {
        $('.nav-tabs a[href="#' + url.split('#')[1] + '"]')[0].click();
    } 

    //To make sure that the page always goes to the top
    setTimeout(function () {
        window.scrollTo(0, 0);
    },200);

  });

答案 2 :(得分:0)

我已经通过使用以下方法解决了这个问题,感谢您的帮助

在我的控制器中

公共职能指数()

{
    $para_id=false;
    $data_para=Input::all();
    if($data_para){
        $para_id=$data_para['pagetype'];
    }
    $balances=DB::table('in_balances')->simplePaginate(5,['*'],'balances');
    $balances->setPath('/in-parameter/parameter?pagetype=1');
}
   return view('in-parameter.parameter',
           ['balances'=>$balances,
            'para_id'=>$para_id]);

在我的blade.php 中 平衡

   {! Form :: open(array('url'=>'in-parameter / parameter','class'=>'form-inline','method'=>'post'))!!}

        -------------------------------------
        -------------------------------------
        ------------------------------------

{!! Form :: close()!!}

          <div class="pagination"> {{ $balances->links() }} </div>