使用 Flask 后端中的另一个 sql 查询检查复选框上的重新生成表

用户3655103

我在为我的 Web 界面寻找正确的解决方案时遇到了问题:我有一个使用 Datatables 框架创建的表。在后端 Flask

默认情况下,表是使用查询从 Mysql DB 填充的 SELECT * FROM test_table WHERE status != 'OK'

但我想添加一个名称为 的复选框Show all records通过选中此复选框后端应该使用另一个查询来填充SELECT * FROM test_table基本上,选择所有内容。

Javascript代码:

$('#main_table').DataTable({
    "processing": true,
    "ajax": {
        "url": "/index_get_data",
        "dataType": "json",
        "dataSrc": "data",
        "contentType": "application/json"
    },
    "columns": [{
            "data": "id"
        }, {
            "data": "version"
        }
    ]
});

烧瓶中的 Python

@app.route('/index')
@app.route('/')
def index():
   return render_template('index.html')

@app.route('/index_get_data')
def main_info():
    if query_all is not None:
        sql_query = "SELECT * FROM test_table "
    else:
        sql_query = "SELECT * FROM test_table WHERE status != 'OK'"
    conn = mysql.connect()
    cursor = conn.cursor()
    cursor.execute(sql_query)
    conn.close()
    row_headers = [x[0] for x in cursor.description]
    rv = cursor.fetchall()
    json_data = []
    for result in rv:
        json_data.append(dict(zip(row_headers, result)))
    return_data = {'data': json_data}
    return json.dumps(return_data, indent=4, sort_keys=True, default=str)

捕获复选框检查事件的Javascript函数

const checkbox = document.getElementById('chkBox')
    checkbox.addEventListener('change', (event) => {
        if (event.target.checked) {
            $.post("/select_all", {
                select_all: "True"
            });
        }
    })

不幸的是,我在这里卡住了。我找不到使用非默认查询重新加载页面的正确方法。...

叶夫根·戈尔邦科夫

作为记录,您可以完全在客户端实现该功能,方法是在表初始化时加载完整的数据集,隐藏列“状态”并未选中/选中时对该列执行search('OK')/ 操作search('')Show all records

但是,如果status = 'OK'记录只占数据集的最少部分,并且不经常需要整个记录列表,那么确实在服务器端执行该操作会更快。

为此,您只需要ajax.reload()在 POST 成功回调中针对您的表触发

const checkbox = document.getElementById('chkBox')
    checkbox.addEventListener('change', (event) => {
        if (event.target.checked) {
            $.post("/select_all", {
                select_all: "True",
                success: () => $('#main_table').DataTable().ajax.reload()
            });
        }
    })

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL查询以使用另一个表过滤表

来自分类Dev

每天使用另一个表中的值更新sql表

来自分类Dev

使用空间功能时,使用另一个SQL Server数据库中的表更新表列

来自分类Dev

SQL:如何使用另一个表中的信息选择某些内容

来自分类Dev

使用另一个表中的值对SQL表进行排序

来自分类Dev

如何表行追加到一个表使用复选框另一个表中的javascript检查

来自分类Dev

使用另一个查找表的SQL查询表

来自分类Dev

如何使用SQL SELECT基于另一个表中的特定行查询表

来自分类Dev

SQL:使用另一个表中的匹配祖先进行联接(内部联接)

来自分类Dev

使用来自另一个表的信息更新SQL Server中的表

来自分类Dev

一种使用另一个SQL表中的列迭代创建新SQL表的方法?

来自分类Dev

SQL更新表使用另一个数据库中的表

来自分类Dev

SQL查询另一个表中的值

来自分类Dev

SQL:在另一个查询中使用一个查询的结果

来自分类Dev

使用SQL表联接将一个表中的值用作对另一个表中的值的引用(主键)

来自分类Dev

SQL Delete使用另一个表的值

来自分类Dev

如何使用SQL中的包含从另一个表中搜索关键字

来自分类Dev

如何使用查询结果选择到SQL Server中的另一个表

来自分类Dev

使用SQL中的另一个表计算列

来自分类Dev

如果表中存在行,则在SQL中使用另一个表值

来自分类Dev

访问VBA在另一个SQL查询使用的SQL中创建临时查询

来自分类Dev

使用另一个表中的值填充SQL中的列

来自分类Dev

SQL如何在查询中为另一个查询使用值

来自分类Dev

使用另一个表中的条件从表中进行SQL查询

来自分类Dev

如何使用 SQL TRIGGER 将另一个表中的行插入到新表中?

来自分类Dev

如何使用 SQL 中另一个表中的一列创建一个新表?

来自分类Dev

如何使用基于复选框的选择将多行数据从一个 sql 表添加到另一个?

来自分类Dev

SQL - 使用另一个表中的单个行更新行

来自分类Dev

Codeigniter SQL 查询:我想使用另一个表中的数据从一个表中检索数据

Related 相关文章

  1. 1

    SQL查询以使用另一个表过滤表

  2. 2

    每天使用另一个表中的值更新sql表

  3. 3

    使用空间功能时,使用另一个SQL Server数据库中的表更新表列

  4. 4

    SQL:如何使用另一个表中的信息选择某些内容

  5. 5

    使用另一个表中的值对SQL表进行排序

  6. 6

    如何表行追加到一个表使用复选框另一个表中的javascript检查

  7. 7

    使用另一个查找表的SQL查询表

  8. 8

    如何使用SQL SELECT基于另一个表中的特定行查询表

  9. 9

    SQL:使用另一个表中的匹配祖先进行联接(内部联接)

  10. 10

    使用来自另一个表的信息更新SQL Server中的表

  11. 11

    一种使用另一个SQL表中的列迭代创建新SQL表的方法?

  12. 12

    SQL更新表使用另一个数据库中的表

  13. 13

    SQL查询另一个表中的值

  14. 14

    SQL:在另一个查询中使用一个查询的结果

  15. 15

    使用SQL表联接将一个表中的值用作对另一个表中的值的引用(主键)

  16. 16

    SQL Delete使用另一个表的值

  17. 17

    如何使用SQL中的包含从另一个表中搜索关键字

  18. 18

    如何使用查询结果选择到SQL Server中的另一个表

  19. 19

    使用SQL中的另一个表计算列

  20. 20

    如果表中存在行,则在SQL中使用另一个表值

  21. 21

    访问VBA在另一个SQL查询使用的SQL中创建临时查询

  22. 22

    使用另一个表中的值填充SQL中的列

  23. 23

    SQL如何在查询中为另一个查询使用值

  24. 24

    使用另一个表中的条件从表中进行SQL查询

  25. 25

    如何使用 SQL TRIGGER 将另一个表中的行插入到新表中?

  26. 26

    如何使用 SQL 中另一个表中的一列创建一个新表?

  27. 27

    如何使用基于复选框的选择将多行数据从一个 sql 表添加到另一个?

  28. 28

    SQL - 使用另一个表中的单个行更新行

  29. 29

    Codeigniter SQL 查询:我想使用另一个表中的数据从一个表中检索数据

热门标签

归档