PHP 分页框架的使用

来源:互联网 发布:网络客服提成方案 编辑:程序博客网 时间:2024/05/17 06:51

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

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

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

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

<?phpdefined('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
原创粉丝点击