当前位置 博文首页 > 文章内容

    PHP+MySQL+LayUI分页查询显示

    作者:shunshunshun18 栏目:未分类 时间:2021-04-13 10:42:42

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    • html构建前端样式

    • AJAX异步请求数据

    • 使用layui.table数据表格的方法渲染。

    1.HTML文件

    <p class="layui-card-body ">
            <table id="demo" class="layui-hide"></table>
            <p id="pageUD"></p></p><script src="js/jquery.min.js"></script><script>
        var pageNum = 0;
        var limit = 10;
        var page = 1;
        $.ajax({
            url: "laypage.php",
            async: false,
            type: "post",
            success: function (res) {
                pageNum = res; //取到数据总条数
                // console.log(res)
            }
        });
        layui.use('table', function () {
            var table = layui.table;
    
            table.render({
                elem: '#demo',
                method: 'post',
                url: 'paging.php',
                limit: limit,
                page: page,
                cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
                cols: [[
                    {checkbox: true},
                    {field: 'id', width: 80, sort: true, title: 'ID'},
                    {field: 'donor', width: 240, sort: true, title: '姓名/昵称'},
                    {field: 'object', width: 180, sort: true, title: '捐助项目'},
                    {field: 'money', width: 150, sort: true, title: '捐助金额'},
                    {field: 'time', width: 200, sort: true, title: '捐助时间'},
                    {field: 'type', width: 100, sort: true, title: '捐助类型'},
                    {field: 'message', width: 200, title: '备注/留言'}
                ]]
            });
        });</script>

    从前端获取page和limit两个变量,交给MySQL中的 limit 进行分页查询,将查询的结果拼装后以前端LayUI框架规定的json形式返回。

    2.laypage.php 文件

    laypage.php 功能是获取数据总数并返回给前端展示。

    <?php
        require ('db_config.php');
        $sql = 'select count(*) from donation_copy1';
        $result = $mysqli->query($sql);
        $sum = mysqli_fetch_row($result);
        echo ceil($sum[0]/1);
    ?>

    3.paging.php 文件

    laypage.php 功能是根据前端传递的变量指定参数分页查询数据并返回给前端展示。

    <?php
        header("content-type:text/html;charset=utf-8;");
        require ('db_config.php');$limit = $_POST['limit'];
        $page = $_POST['page'];$new_page = ($page - 1)*$limit;
        $sql = "select * from donation_copy1 order by id desc limit " .$new_page.",".$limit;
        $result = $mysqli->query($sql);
        $sql2 = 'select * from donation_copy1';
        $count = mysqli_num_rows($mysqli->query($sql2));
        $arr = array();
        while ($row = mysqli_fetch_array($result)) {  
        $arr[] = $row;}$donation_data = array(  // 拼装成为前端需要的JSON
        'code'=>0,
        'msg'=>'',
        'count'=>$count,
        'data'=>$arr);
        echo json_encode($donation_data);
        //echo $sql;
        ?>

    最终页面效果如下所示:
    在这里插入图片描述