php+layui数据表格实现数据分页渲染代码
一、HTML
二、JS
说明:需要引入layui中的table和laytpl模板引擎,laytpl可以自定义事件及自定义数据字段等
查看详情 {{#if(d.hotcake==='超级爆款'){}} {{d.hotcake}} {{#}elseif(d.hotcake==='大爆款'){}} {{d.hotcake}} {{#}elseif(d.hotcake==='小爆款'){}} {{d.hotcake}} {{#}elseif(d.hotcake==='热销款'){}} {{d.hotcake}} {{#}else{}} {{d.hotcake}} {{#}}}
layui.use(['form','laydate','layer','table','laytpl'],function(){ varlaydate=layui.laydate; varlayer=layui.layer; vartable=layui.table; varlaytpl=layui.laytpl; //---SPU数据--------------------------------------------- varspu_table=table.render({ elem:'#spu-data',//html中table窗口的id height:800, url:'__URL__/spu_data',//后台接口 toolbar:true, loading:true, text:{ none:'空空如也' }, title:'spu数据', size:'sm', page:{ layout:['count','prev','page','next','limit','refresh','skip'], limit:20, limits:[20,30,50,100,200,5000] }, cols:[[ {field:'n',title:'i',width:55}, {field:'',title:'图',width:31,templet:'#pimg'},//templet引用laytpl中的自定义模板 {field:'',title:'查看详情',width:120,templet:'#spu_detail'},//引用laytpl中的自定义模板 {field:'artnum',title:'货号',sort:true}, {field:'gcolor',title:'颜色组',sort:true}, {field:'cate',title:'品类',sort:true}, {field:'price',title:'业绩',sort:true}, {field:'sales',title:'销量',sort:true}, {field:'hotcake',title:'热销程度',templet:'#hotcake_color',sort:true}, {field:'sumcost',title:'商品成本',sort:true} ]] }); //搜索重载数据 $('#spudata_search').click(function(){ //获取日期的值 vardate=$('#spusearch_date').val(); if(!date){ layer.msg('请选择日期区间搜索',{ time:2000 }); returnfalse; } varperfor_val=$('#perfor_val').val();; varhot_type=$('#hot_type').val(); varartnum=$('#artnum').val(); varcate_id=$('#cate_id').val(); //只选其一条件 if(perfor_val&&hot_type){ layer.msg('业绩区间和爆款类型只选其一',{ time:2000 }); returnfalse; } //数据重载 spu_table.reload({ //发送条件 where:{ artnum:artnum, perfor_val:perfor_val, hot_type:hot_type, cate_id:cate_id, date:date, act:'reload' }, page:{ layout:['count','prev','page','next','limit','refresh','skip'], curr:1 } }); }) })
三、PHP
#这里是PHP类中主要的配合步骤 #接收layui发送的limit if(trim($_GET['limit'])){ $limit=trim($_GET['limit']); }else{ $limit=15; } #按某字段排序,$rows为数据数组 $sort_num=array_column($rows,'num'); array_multisort($sort_num,SORT_DESC,$rows,SORT_DESC); #调用自定义分页函数 $datas=array(); $datas=showpage($rows,$limit); $items=array(); #返回layui数据格式 $items['data']=$datas['rows']; $items['code']=0; $items['msg']='ok'; $items['count']=$datas['tot']; exit(json_encode($items));
#showpage函数 functionshowpage($rows,$count){ $tot=count($rows);//总数据条数 if($_GET['page']){//获取当前页码 $page=$_GET['page']; }else{ $page=1; } //$count=$count;#每页显示条数 $countpage=ceil($tot/$count);#计算总共页数 $start=($page-1)*$count;#计算每页开始位置 $datas=array_slice($rows,$start,$count);#计算当前页数据 #获取上一页和下一页 if($page>1){ $uppage=$page-1; }else{ $uppage=1; } if($page<$countpage){ $nextpage=$page+1; }else{ $nextpage=$countpage; } $pages['countpage']=$countpage; $pages['page']=$page; $pages['uppage']=$uppage; $pages['nextpage']=$nextpage; $pages['tot']=$tot; //循环加入序号,避免使用$i引起的序号跳位 $n=1; foreach($datasas&$data){ $data['n']=$n; $n++; } $pages['rows']=$datas; return$pages; }
以上这篇php+layui数据表格实现数据分页渲染代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。