请教后端用php的数据表格的分页怎么实现?

提问 已结 8 295
冬季风
冬季风 2019-10-13
悬赏:20飞吻
版本:layui 2.5.5 浏览器:360极速浏览器
我结合php已经能正常渲染出数据表格内容了,但是分页功能不起作用,只能显示总记录数但不会分页,也不知道怎么弄,看论坛里说分页要在后端做,前端只是传递参数,我是新手不太明白怎么实现,请高手帮忙指点一下后端的php怎么写?
<?php
include "config.php";
header('Content-Type:application/json; charset=utf-8');
$result=mysqli_query($conn,"select * from tt");
$nums=mysqli_num_rows($result);
$my=array();
while($myrow=mysqli_fetch_assoc($result)){
$my[]=$myrow;
}

$arr = array("code"=> 0, "msg"=> "", "count"=>$nums, "data"=>$my);
echo json_encode($arr);
?>
回帖
  • I自渡I
    2019-10-13
    后端java,给你个思路:分页实际上就是传递了两个参数给服务器,limit(一页几条)和page(第几页),你前端把参数传给服务器,服务器sql带上这两个参数查询,再把结果返回给前端
    0 回复
  • 冬季风
    2019-10-13
    @I自渡I 请帮看一下我的前端代码:
    layui.use('table', function(){
    var table = layui.table;

    table.render({
    elem: '#test'
    ,url:'/user/'
    ,page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
    layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
    //,curr: 5 //设定初始在第 5 页
    ,groups: 1 //只显示 1 个连续页码
    ,first: true //不显示首页
    ,last: false //不显示尾页

    }
    ,cols: [[
    {field:'Id', width:'2%', title: 'ID', sort: true}
    ,{field:'username', width:'5%', title: '用户名'}
    ,{field:'sex', width:'5%', title: '性别', sort: true}
    ,{field:'city', width:'5%', title: '城市'}
    ,{field:'sign', width:'5%', title: '签名'}
    ,{field:'experience', width:'5%', title: '积分', sort: true}
    ,{field:'logins', width:'5%', title: '评分', sort: true}
    ,{field:'ip', width:'5%', title: '职业'}
    ,{field:'jointime', width:'5%', title: '财富', sort: true}

    ]]
    ,page: true
    ,toolbar:true
    });
    });
    是渲染出数据表格就自动传递limit和page了吗?
    0 回复
  • 你这后端根本没分页查询sql呀,百度一下怎么写php的分页就好了
    0 回复
  • saiomeil
    2019-10-14
    世界上最好的语言是什么?
    0 回复
  • I自渡I
    2019-10-14
    @冬季风 你的table已经开启了分页功能(page: true),f12看下切换上一页下一页的请求,应该会带有分页数据limit和page
    0 回复
  • 冬季风
    2019-10-14
    我在后台弄分页还是不行,不知道哪里错了?前台的limit和page参数后台怎么接收呢?
    <?php

    include "config.php";//数据库连接参数
    $page = $_POST['page']; //当前页

    $result=mysqli_query($conn,"select * from tt");
    $total = mysqli_num_rows($result);//总记录数
    $pageSize = 10; //每页显示数
    $totalPage = ceil($total/$pageSize); //总页数

    $startPage = $page*$pageSize; //开始记录
    //构造数组
    $arr['total'] = $total;
    $arr['pageSize'] = $pageSize;
    $arr['totalPage'] = $totalPage;
    $query = mysqli_query($conn,"select * from tt order by id asc limit
    $startPage,$pageSize"); //查询分页数据
    while($row=mysqli_fetch_array($query)){
    $arr['list'][] = array(

    'code'=> 0,
    'msg'=> "",

    'data'=>$row,
    );
    }
    echo json_encode($arr); //输出JSON数据
    ?>
    0 回复
  • 老大i
    2019-10-14
    后端要分页查询
    0 回复
  • 冬季风
    2019-10-14
    感谢各位的提示,终于问题解决了,分页正常。[嘻嘻]
    0 回复