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;
}