0

0

小白 关于使用laypage分页 的运用简述

php中文网

php中文网

发布时间:2016-08-04 08:56:24

|

1536人浏览过

|

来源于php中文网

原创

本人小白一枚,所以之前都是用自带的分页,后来有大神推荐我了这个,感觉不错,所以就推荐一下,分页一般是用GET来传值的,所以,一旦要进行搜索执行时,需把搜索值加在URL上,否则会点击下一页,搜索条件被刷掉,第一次发帖,(欢迎大神给小的指点改进),主要是写给同为小白苦苦挣扎的小伙伴们看的(共勉)。
//这里是前端页面需要引入的文件,去 http://laypage.layui.com/ 官网下载放在项目下即可(我将文件放在了Public下,然后再调用出来),//好像很实用的样子,后端的同学再也不用写分页逻辑了。这里只要复制进来就可以了。不用改
laypage({
    cont: 'page11',
    pages: 18,
 //假设我们获取到的是18(后端计算完总页数后将总页数值传过来,放在这里即可(类似{$totalpage})).
 curr: function(){ //通过url获取当前页,也可以同上(pages)方式获取
 var page = location.search.match(/page=(\d+)/);
        return page ? page[1] : 1;//如果没有页数显示时,默认是第一页
    }(), 

    jump: function(e, first){ //触发分页后的回调
        if(!first){ //一定要加此判断,否则初始时会无限刷新
            location.href=setParam("page",e.curr);
        }
    }
});
//设置url中连接符(为什么要加这段呢?因为我们要带搜索条件时,一般的URL要带"?","&",这两个符号,这里就是为了,在追加页码时,当有了“?”符号时,会换成“&”,没有时则是“?”加page=页数,以下也是直接复制进去就可以了。)function setParam(param,value){
    var query = location.search.substring(1);
    var p = new RegExp("(^|)" + param + "=([^&]*)(|$)");
    if(p.test(query)){
        //query = query.replace(p,"$1="+value);
        var firstParam=query.split(param)[0];
        var secondParam=query.split(param)[1];
        if(secondParam.indexOf("&")>-1){
            var lastPraam=secondParam.split("&")[1];
            return  '?'+firstParam+'&'+param+'='+value+'&'+lastPraam;
        }else{
            if(firstParam){
                return '?'+firstParam+''+param+'='+value;
            }else{
                return '?'+param+'='+value;
            }
        }
    }else{
        if(query == ''){
            return '?'+param+'='+value;
        }else{
            return '?'+query+'&'+param+'='+value;
        }
    }    
}
//最后在你显示数据(例如后)最后添加下面这个

//上面的 id是自己的设置的,改的话,注意前面的cont: 'page11', 这里也要换。到此前端的准备已经完了。
搜索条件的也要附上URL地址的话,我是这么写的
//点击搜索$("#sou").bind("click",function(event){
    event.preventDefault();
//这里不懂的可以自己查查(用于取消事件的默认行为 一般是有时,没有就直接去掉)。
    var type=$("#type").val();//获取假设的搜索条件值
    var url=$(this).attr("souid");//这里的是获取点击是要跳转的地址(例如:souid="" 跳转地址自己换)
    window.location.href=url+"?typeid="+type;
});
(小白就只能这么写了,见谅,基本的JQ,应该还是可以理解吧!)

二。现在是后端的部分public function text(){
//下面是获取GET传来的页数,如果没有页数时,页数为1.
$nowpage=I('page',1);
//$totalpage就是计算你要获取的最大页数,ceil 是向前取整,这里是设置为10条数据为1页(注意括号)。
$totalpage=ceil((M('order')->where(条件)
                ->count())/10);
//这里尽量简写了。
//下面注意加上 这句 limit(($nowpage-1)*10,10),就是数据控制每页显示数据的条数,获取页数后乘以设置的条数,获取该页的10条(自己设置)数据
$res=M('order')->where(条件)
                ->limit(($nowpage-1)*10,10)
                ->select();

//最后,就是把数据和最大页数传到前端接受了完成了。(搜索条件的也要的话也要传。)
    $this->assign("totalpage",$totalpage);
        $this->assign("res",$res);

}

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

57

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

57

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

237

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

393

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

17

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

103

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

73

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

81

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

70

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 3万人学习

Kotlin 教程
Kotlin 教程

共23课时 | 2.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号