thunder6314 2023-04-15 17:37 采纳率: 33.3%
浏览 32

关于layui 表格搜索功能python实现

关于layui 表格搜索功能后台python实现的问题,想用layui的表格功能做一个搜索功能,现在可以将表格显示出来

img


想要做搜索功能,不知道后台咋写,再网上搜都是利用Java的
这是访问接口

@router.get("/item/") 

async def read_item_protect(page: int, limit: int):  # 使用的FastAPI查询参数的固定写法,因为前端layuimini传送page和limit参数过来,现在后端来处理
    sql = "select * from 1_a测试 limit %s,%s" % (
    (page - 1) * limit, limit)  # 第一页的0加到14条,%s是python字符串占位符的,请深刻理解这条语句
    print(sql)
    cursor = conn.cursor()
    try:
        cursor.execute(sql)
        print("所有数据查询语句已经执行了")
        print(sql)
        result = cursor.fetchall()
        # print(result)
        return {"code": 0, "msg": "信息有了", "count": count_db_medical(),
                "data": result}  # 这是layuimini返回json的要求格式,主要的要得到count和data,注意 count_db()调用了下面的函数主要统计条数
    except pymysql.Error as e:
        print(e)

def count_db_medical_protect():  # 统计数据的条目的函数,要用到
    sql = "select count(*) from 1_a测试"  # 统计条数
    print(sql)
    cursor = conn.cursor()
    try:
        cursor.execute(sql)
        d = cursor.fetchall()
        for x in d:
            a = x.get('count(*)')
            print(a)
            return (a)
    except pymysql.Error as e:
        print(e)
    finally:
        cursor.close()

这是前端的代码

layui.use('table', function(){
        var table = layui.table;

        //方法级渲染
        table.render({
            elem: '#LAY_table_user'
            ,url:'/item/'
            ,cols: [[
                {field:'username', width:200, title: '商品名'},
                {field:'id', width:200, title: '商品ID', sort: true}



            ]]
            ,id: 'testReload'
            ,page: true
            ,height: 310
        });

        var $ = layui.$, active = {
            reload: function(){
                debugger
                var demoReload = $('#demoReload');
                var val = demoReload.val();
                //执行重载
                table.reload('testReload', {
                    page: {
                        curr: 1 //重新从第 1 页开始
                    }
                    ,where: {
                   
                        productName: demoReload.val().trim()
                    }
                }, 'data');
            }
        };

        $('.demoTable .layui-btn').on('click', function(){
            var type = $(this).data('type');
            active[type] ? active[type].call(this) : '';
        });
    });

  • 写回答

3条回答 默认 最新

  • allyfireshen 2023-04-15 17:52
    关注

    img

    评论

报告相同问题?

问题事件

  • 创建了问题 4月15日