layui框架实战案例(1):layui组件table异步加载数据结合php后台动态翻页的解决方案

简介: layui框架实战案例(1):layui组件table异步加载数据结合php后台动态翻页的解决方案

layui组件table美观度和实用性都是比较完美的。但是在使用table翻页功能的时候,需要对后台进行传参,并且返回的json数据一定要符合一定的规范,否则将无法实现翻页。


20200730162635195.png


layui版本: layui-v2.5.6

**php代码:**原生代码,无框架;

返回JSON格式规范:

{"code":0,
"msg":"",
"count":1000,
"data":[{"id":10000,"username":"user-0","sex":"女","city":"城市-0","sign":"签名-0","experience":255,"logins":24,"wealth":82830700,"classify":"作家","score":57}]
}

解决方案:

一、引入样式表及layui.js

  <link rel="stylesheet" href="layui/css/layui.css" media="all">
    <script src="layui/layui.js" charset="utf-8"></script>

二、table容器

<table class="layui-hide" id="test"></table>

三、表格渲染

<script>
    layui.use(['table', 'layer', 'form'], function () {
        var table = layui.table;
        table.render({
            elem: '#test'
            , url: 'index.php'
            , layout: ['count', 'prev', 'page', 'next', 'limit', 'skip']
            , limits: [5, 10, 15, 20]
            , toolbar: true
            , even: true
            , page: true
            , cols: [[
                {field: 'orders_id', title: 'Id', sort: true}
                //, {field: 'orders_name', title: '姓名', sort: true}
                , {field: 'pay_status', title: '性别'}
                , {field: 'orders_category', title: '文化程度'}
                , {field: 'orders_payway', title: '民族'}
                //, {field: 'orders_tel', title: '联系电话'}
                //, {field: 'orders_price', title: '身份证号'}
            ]]
            , done: function (res, curr, count) {
                //如果是异步请求数据方式,res即为你接口返回的信息。
                //如果是直接赋值的方式,res即为:{data: [], count: 99} data为当前页数据、count为数据总长度
                console.log(res);
                //得到当前页码
                console.log(curr);
                //得到数据总量
                console.log(count);
            }
        });
    });
</script>

四、php后端

<?php
//处理前台页面传过来的数据
@$p = $_GET['page'] == "" ? 1 : $_GET['page'];//获取用户选择的页码
@$pagesize = $_GET['limit'] == "" ? 10 : $_GET['limit'];//获取用户选择的每页显示多少条数据
/*echo $p;
echo $pagesize;*/
//连接数据库
$dsn = 'mysql:dbname=lingcheng;host=127.0.0.1';
$user = 'root';
$pass = 'root';
$pdo = new PDO($dsn, $user, $pass);
//查询数据
$res = [];
$limit = ($p - 1) * $pagesize;//偏移量
$sql = "select * from po_orders order by orders_id limit $limit,$pagesize";
$stmt = $pdo->query($sql);
$res['code'] = 0;
$res['msg'] = "";
$res['count'] = 20;
$data = $stmt->fetchAll("4");
$res['data'] = $data;
echo json_encode($res);


Done !

相关文章
|
缓存 大数据 PHP
PHP性能优化实战:告别缓慢脚本
PHP性能优化实战:告别缓慢脚本
402 89
|
安全 PHP
PHP 8 新特性实战:提升开发效率的利器
PHP 8 新特性实战:提升开发效率的利器
376 87
|
SQL 缓存 大数据
PHP性能优化实战:4个立竿见影的技巧
PHP性能优化实战:4个立竿见影的技巧
407 88
|
安全 PHP
PHP 8 新特性实战:提升开发效率的利器
PHP 8 新特性实战:提升开发效率的利器
423 88
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
存储 自然语言处理 JavaScript
PHP变量和数据类型
1.静态类型语言,比如:C/Java等,在静态语言类型中,类型的检查是在编译期(compile-time)确定的。 2. 动态语言类型,比如:PHP,python等各种脚本语言,这类语言中的类型是在运行时确定的。 3. 无类型语言,比如:汇编语言,汇编语言操作的是底层存储,他们对类型毫无感知。
PHP变量和数据类型
|
PHP
PHP:变量类型获取和数据类型转换
PHP:变量类型获取和数据类型转换
264 0
|
安全 PHP Shell
PHP变量的定义与相应的数据类型
在PHP中,变量的定义和C语言定义的方法是类似的,但是在PHP中,变量使用起来就非常灵活,一个变量既可以做整型,也可以是浮点型,也可以是字符串或者字符类型,通通只要在变量名前面加一个$然后加上你的变量名,再初始化,那么编译器在编译的时候就可以将对应的转换成为相应的数据类型,这点是跟bash shell 很像的,我们可以来看看: php中的变量 变量: 值存储在内存中 有名称的信息。
1215 0
|
存储 PHP 索引
PHP变量和数据类型
原文:PHP变量和数据类型 编程语言可以分为三大类 1. 静态类型语言,比如:C/Java等,在静态语言类型中,类型的检查是在编译期(compile-time)确定的。 2. 动态语言类型,比如:PHP,python等各种脚本语言,这类语言中的类型是在运行时确定的。
1773 0