Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在mysql数据库中识别新添加的记录和修改的记录_Python_Html_Mysql_Pandas_Flask - Fatal编程技术网

Python 在mysql数据库中识别新添加的记录和修改的记录

Python 在mysql数据库中识别新添加的记录和修改的记录,python,html,mysql,pandas,flask,Python,Html,Mysql,Pandas,Flask,我有一个类似这样的数据库,现在我确实希望根据html页面上的数据输入显示新添加的记录或修改的记录。现在,该表是一个长表,可以向一个记录id添加更多变量,也可以添加具有相同变量名称但不同值的新记录id。我确实希望在html上显示新记录ID和基于值的修改记录 import pandas as pd df = pd.DataFrame([('4010000','age', 38), ('4010000','t_seen', "10:00am"),

我有一个类似这样的数据库,现在我确实希望根据html页面上的数据输入显示新添加的记录或修改的记录。现在,该表是一个长表,可以向一个记录id添加更多变量,也可以添加具有相同变量名称但不同值的新记录id。我确实希望在html上显示新记录ID和基于值的修改记录


import pandas as pd
df = pd.DataFrame([('4010000','age', 38),
                   ('4010000','t_seen', "10:00am"),
                   ('4010001','birth_w', 40),
                   ('4010001','birth_unit', "kg"),
                   ('4010002','baby_seen', 56),
                  ('4010002','admiss', 456)],
                  columns=('Record_id','variable', 'value'))
df
任何人都知道我如何在python中做到这一点,我就是如何使用flask从数据库中提取数据的

from flask import Flask, request, render_template
import pymysql
import pandas as pd
from pandas import DataFrame


app = Flask(__name__)


host   = 'localhost'
port   = port name
user   = ''
passwd = ''
db     = 'red_data'

@app.route('/tables')
def someName():
        cnx    = pymysql.connect(host=host, port=port, user=user, passwd=passwd, db=db)
        cur    = cnx.cursor()
        query  = "SELECT * FROM red_data"
        cur.execute(query)
        field_names = [i[0] for i in cur.description]
        get_data = [xx for xx in cur]
        cur.close()
        cnx.close()
        df = DataFrame(get_data)
        df.columns = field_names
        results = df
        return render_template('index.html', results=[results.to_html(classes='results')],
        titles = ['na', 'database table'])

if __name__ == '__main__':
    app.run(debug=True, port=8585)
这是我的html输出

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel=stylesheet type=text/css href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
<div>

    <div class=page>
        <h1>Surfer groups</h1>
        {% for table in results %}
        <h2>{{titles[loop.index]}}</h2>
        {{ table|safe }}
        {% endfor %}

    </div>
</div>
</body>
</html>

标题
冲浪团体
{results%%中的表的%s}
{{titles[loop.index]}
{{表|安全}}
{%endfor%}

我想在浏览器上显示新的和修改过的记录

只是一个小小的澄清,您想只显示新记录和/或修改的记录,还是希望以最新记录最先显示的方式对它们进行排序?@–SYNT4X是的,我想排序以便新记录和修改的记录可以最先显示您可以更改SQL查询以降序排列结果集。@–SYNT4X您能分享一个示例代码吗你可以试着使用这个终端。我是一个新手,很遗憾,我不能为您的案例提供一个代码示例,但是我可以提供一个适合您需要的示例SQL查询<代码>按DESC处创建的红色数据顺序选择*。您需要在表中的timestamp列中创建一个
created_,并将其默认值设置为CURRENT_timestamp。这样,无论何时创建新记录,它都将以当前日期为准。之后,您可以轻松地按日期排序,无论是升序还是降序。不过,您必须重新填充数据库,但这是解决问题的方法之一。