使用layui前端框架,进行分页,php通过url传参

分页步骤:
第一大步;先处理视图界面:
1、使用layui前端框架,在根目录下新建一个文件夹命名为static文件,把下载的layui的demo放在文件夹下
2、在视图页面中的head中加入链接和脚本:
      <link rel="stylesheet" href="/static/layui/css/layui.css">
      <script src="/static/layui/layui.js"></script>
--------------------------------------
<script type="text/javascript">


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


        //分页
        laypage({
            cont: 'pageDemo' //分页容器的id
            ,pages: <?=$pageCount?> //总页数:需要从控制端传出数据
            ,skin: '#5FB878' //自定义选中色值
            ,skip: true //开启跳页
            ,curr:<?=$page?>//当前显示的页数,也需要从控制端传参
            ,groups :3
            ,jump: function(obj, first){
                if(!first){
                    // layer.msg('第'+ obj.curr +'页');
                    window.location.href="/Resource_Home/index/"+obj.curr;//向URL中传递页数并显示


                }
            }
        });
    });
</script>


---------------------------------------------
3、完成以上步骤后:把分页容器放在自己想要放的位置
                   分页容器放在分页所在的位置:


                      <!--
                               分页容器
                               -->
                        <div id="pageDemo"></div>


第二大步:处理控制器部分


 1、  首先在libraries中创建类库:命名为MyPage.php
如下:基本是固定的,目的:是为了返回分页的位移量和每页的数据,处理非正常参数
//------------------------------------------------
<?php


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


/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2017/2/23
 * Time: 15:33
 */
class MyPage
{


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


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




    /**
    获取分页的位移量
     **/
    public function getOffset(){


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


}
//------------------------------------------------
2、需要在Model中获得分页查询的数据,和查询数据总的条数通过num_rows()方法
    在controller中首次加载index时 要默认page=1;
   需要引入类库,给page,pageSize传值


 function index($page=1){


   ///     echo 'page:',$page,'<br>';




        $this->load->library('MyPage');
        $myPage = new MyPage();//实例化类库
        $myPage->page = $page;//传值
        $myPage->pageSize = 4;






        //获取同步资源
        $data['syn_resources'] = $this->Resource_Model->getSynResource($myPage);//从数据库中获取数据通过limit()


        $rowCount=$this->Resource_Model->getSynResourceCount();//获取数据总共的数量通过: $num_rows = $query->num_rows();
        $pageCount= $rowCount /$myPage->pageSize;//得到总共的页数


        if(($rowCount %    $myPage->pageSize)>0){//取余数不为零+1
            $pageCount = $pageCount + 1;
        }
//-----------------------------------
//把数据传送到界面上
        $data['page'] = $page;
        $data['pageCount'] = $pageCount;
        $this->load->view('resource/resource_home_page',$data);
*******************************************


1、PHP如何通过URL传参:


http://localhost/Resource_Home/index?page=5&&pageSize=2


   方法一:
        $page=$_GET['page'];
        $pageSize=$_GET['pageSize'];
   
   方法二:CodeIgniter框架自带的方法
http://localhost/Resource_Home/index/2
      function index($page=1){}


在方法里直接传参,如果没有通过URL传参,则默认为page=1













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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值