from flask import Flask, request, render_template, redirect, url_for import mysql.connector from mysql.connector import Error
app = Flask(__name__)
def create_connection(): connection = None try: connection = mysql.connector.connect( host='localhost', user='root', password='', database='form_data' ) except Error as e: print(f"The error '{e}' occurred") return connection
@app.route('/') def index(): return app.send_static_file('index.html')
`@app.route(‘/submit_form’, methods=[‘POST’])
def submit_form():
data = request.form.to_dict()
connection = create_connection()
cursor = connection.cursor()
`
`insert_module1 = """
INSERT INTO module1 (Sl, previousSl, wbsElement, projectId, schemeName, sanctionedCost, anticipatedCost, ipmm, dept, proj_mgr, current_status, scheme_type, stage1_plant_pag_date, stage1_approvaldate, stage1_cost_gross, stage1_cost_net, stage1_approval_time, stage1_pag_qtr, stage1_approval_qtr, stage1_approval_trend, award_trend_nit, stage2_pag_trend, award_trend_stage2, project_delay_trend)
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
"""`
`insert_module2 = """
INSERT INTO module2 (Sl, previousSl, nitdate, tod, tc_recomendation_date, stage_II_pagdate, stage_II_approval, stage_II_gross, stage_II_net, stage1_approval_trend, time_taken_in_issuing_nIT_after_Stage_I, nit, nit_issuing_trend, award_trend_nit, Time_taken_Stage_II_PAG_after_TC_Recommendation, TC_Recommendation, stage_II_plant_pag, stage2_pag_trend, Time_taken_tage_II_Approval_from_PAG_II, stage_II_approval_qtr, stage_II_approval_trend, award_trend_stage2, project_delay_trend)
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
"""
values_module1 = (
data['Sl'], data['previousSl'], data['wbsElement'], data['projectId'], data['schemeName'], data['sanctionedCost'], data['anticipatedCost'],
data['ipmm'], data['dept'], data['proj_mgr'], data['current_status'], data['scheme_type'], data['stage1_plant_pag_date'],
data['stage1_approvaldate'], data.get('stage1_cost_gross'), data.get('stage1_cost_net'), data.get('stage1_approval_time'),
data.get('stage1_pag_qtr'), data.get('stage1_approval_qtr'), data['stage1_approval_trend'], data['award_trend_nit'],
data['stage2_pag_trend'], data['award_trend_stage2'], data['project_delay_trend']
)
`
values_module2 = ( data['Sl'], data['previousSl'], data['nitdate'], data['tod'], data['tc_recomendation_date'], data['stage-II_pagdate'], data['stage-II_approval'], data['stage-II_gross'], data['stage-II_net'], data['stage1_approval_trend'], data['time_taken_in_issuing_nIT_after_Stage-I'], data['nit'], data['nit_issuing_trend'], data['award_trend_nit'], data['Time_taken_Stage-II_PAG_after_TC_Recommendation'], data['TC_Recommendation'], data['stage_II_plant_pag'], data['stage2_pag_trend'], data['Time_taken_tage-II_Approval_from_PAG-II'], data['stage_II_approval_qtr'], data['stage_II_approval_trend'], data['award_trend_stage2'], data['project_delay_trend'] )
`try:
cursor.execute(insert_module1, values_module1)
cursor.execute(insert_module2, values_module2)
connection.commit()
except Error as e:
print(f"The error '{e}' occurred")
connection.rollback()
finally:
cursor.close()
connection.close()
return redirect(url_for('index'))
if name == ‘main‘:
app.run(debug=True)`
Can anyone tell me what is the problem with the code
here is the html form section ?
<form action="/submit_form" class="form" method="post">
`<h3 class="text-center">Please Fill out the form</h3>
<!-- Progress bar -->
<div class="progressbar">
<div class="progress" id="progress"></div>
<div
class="progress-step progress-step-active"
data-title="Module-1"
data-step="1"
></div>
<div class="progress-step" data-title="Module-2" data-step="2"></div>
<div class="progress-step" data-title="Module-3" data-step="3"></div>
<div class="progress-step" data-title="Capex" data-step="4"></div>
</div>`
1