zoukankan      html  css  js  c++  java
  • Thinkphp5之laypage分页插件的实现

    //一下是laypage所用到的 js
    <script type="text/javascript" src="__STATIC__/lib/laypage/1.2/laypage.js"></script>
    <script type="text/javascript"> 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); } } }); 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; } } } </script>

    //HTML显示

    <!--显示分页按钮,事先要将bootstrap导入css和js-->
    <div style="margin-top:15px; text-align:center;" id="page11"></div>

    /上面的 id是自己的设置的,改的话,注意前面的cont: 'page11', 这里也要换。到此前端的准备已经完了。
    搜索条件的也要附上URL地址的话,我是这么写的


    //点击搜索

    $("#sou").bind("click",function(event){

    event.preventDefault();//这里不懂的可以自己查查(用于取消事件的默认行为 一般是有<from>时,没有就直接去掉)。

    var type=$("#type").val();//获取假设的搜索条件值

     var url=$(this).attr("souid");//这里的是获取点击是要跳转的地址(例如:souid="<*:U('Custom/customorder')*>" 跳转地址自己换)

    window.location.href=url+"?typeid="+type;

    });

     


    二、现在是后端的部分

    public function semList(){
    
    		//laypage实现分页倒叙列表查询
    		$nowpage=input('page',1);//获取post传来的页数,如果没有页数时,页数为1
    		$totalpage=ceil((model('sem')->count())/10);////$totalpage就是计算你要获取的最大页数,ceil 是向前取整,这里是设置为10条数据为1页(注意括号)//这里尽量简写了。
    
    		//下面注意加上 这句 limit(($nowpage-1)*10,10),就是数据控制每页显示数据的条数,获取页数后乘以设置的条数,获取该页的10条(自己设置)数据
    		$semList=model('sem')->order('create_time desc')->limit(($nowpage-1)*10,10)->select();
    		$count = SemModel::count();
    		$this->assign("totalpage",$totalpage);
    		$this->assign('count',$count);
    		$this->assign('semList',$semList);
    		return $this->fetch('sem_list');
    
    	}
    

      

  • 相关阅读:
    Java 学习笔记- classpath classpath*
    Java this关键字 学习笔记
    Java 基础 类加载器和双亲委派机制 学习笔记
    《Java语言实现快速幂取模》
    《2017年内蒙古自治区第十二届大学生程序设计-超级密码》
    《快速排序》
    《01-背包问题-点菜》
    微信小程序相关二、css介绍,菜单制作,表单相关,京东注册页面
    微信小程序相关一、模仿京东静态登录页面
    分别用js和css实现瀑布流
  • 原文地址:https://www.cnblogs.com/qinglin/p/8691457.html
Copyright © 2011-2022 走看看