PHP 分页框架的使用

layPage多功能前端分页 下载地址: http://www.layui.com/

demo: http://www.layui.com/demo/laypage.html

下载完成后Apache24\htdocs目录下新建一个static文件夹把layui文件夹放进去

在libraries目录下新建一个自己的类库MyPage:

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class MyPage
{

    public function __construct()
    {
        // Do something with $params
    }

    // 默认第几页
    public $page = 1;
    // 默认一页10条
    public $pageSize = 10;


    /**
     * 获取分页的位移量
     **/
    public function getOffset()
    {
        //如果是获取第三页的偏移量  就是2*$pageSize
        $pageSQL = $this->page - 1;

        if ($pageSQL < 0) {
            $pageSQL = 0;
        }
        return $pageSQL * $this->getPageSize();
    }


    /**
     *  返回每页多少条数据
     * 注:处理非正常参数
     **/
    public function getPageSize()
    {
        if ($this->pageSize < 1) {
            $this->pageSize = 10;
        }
        return $this->pageSize;
    }

}

controller代码:

  function upload_excel_index($page = 1)
    {
       function __construct(){
           parent::__construct();
           $this->load->model('Admin_Model');
       }

        $this->load->library('MyPage');
        //$this->MyPage->initialize();
        //自己新建的类库在使用之前要new一下
        $myPage = new MyPage();
        $myPage->page = $page;
        $myPage->pageSize = 5;

        $data['test_excel'] = $this->Admin_Model->get_test_excel($myPage);

        //获得总条数
        $rowCount=$this->Admin_Model->get_test_excelCount();

        //获取总页数
        $pageCount = $rowCount / $myPage->pageSize;

        if (($rowCount % $myPage->pageSize) > 0) {
            $pageCount = $pageCount + 1;
        }

        //把第几页及总页数传到前端
        $data["page"]=$page;
        $data["pageCount"]=$pageCount;

        $this->load->view('admin/upload_excel', $data, array('error' => ' '));

    }

views代码:

upload_excel view:

要引入的样式及js:

    <link rel="stylesheet" href="/static/layui/css/layui.css">
    <script src="/static/layui/layui.js"></script>
    <!-- 分页控件-->
    <div id="pageExcel"></div>
<script type="text/javascript">

    layui.use(['layer', 'laypage', 'element'], function () {

        var layer = layui.layer
            , laypage = layui.laypage
            , element = layui.element();

        //分页
        laypage({
            cont: 'pageExcel' //分页容器的id
            , pages: <?=$pageCount?> //总页数
            , skin: '#5FB878' //自定义选中色值
            , skip: true //开启跳页
            , curr:<?=$page?>
            , groups: 5
            , jump: function (obj, first) {
                if (!first) {
                    //layer.msg('第'+ obj.curr +'页');
                    /*控制页面跳转, + 前面的路径为固定路径 + 后面的是页数*/
                    window.location.href = '/Admin/upload_excel_index/' + obj.curr;
                }
            }
        });
    });

</script>

models代码:

       //获取所有已上传的试题
    function get_test_excel($myPage){

        $this->db->limit($myPage->getPageSize(), $myPage->getOffset());
        $query = $this->db->get('test_excel');
        $data=$query->result_array();
        return $data;
    }
     // 获取所有已上传的试题的条数
    function get_test_excelCount(){

        $query = $this->db->get('test_excel');
        $num_rows=  $query->num_rows();
        // echo $num_rows;
        return   $num_rows;

    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值