Menampilkan Tabel Data dari MySQL menggunakan Python Flask
Assalamuálaikum teman2 yang suka data..
Pada materi ini akan ditampilkan cara menampilkan data dari database MySQL menggunakan Flask. Misalkan dibuat sebuah database perusahaan yang memiliki kolom seperti berikut, Pendapatan, Pengeluaran (listrik, air, kebersihan dll) dan Biaya Iklan, Siapkan terlebih dahulu database tersebut di dalam MySQL,
mysql> create database perusahaan;
mysql> use perusahaan;
mysql> create table keuangan(pendapatan int(12) not null, pengeluaran int(12) not null, biayaiklan int(12) not null);
mysql> show tables;
mysql> desc keuangan;
pertama aktifkan MySQL server terlebih dahulu sehingga nampak seperti berikut,
kemudian, buka MySQL dengan password yang sama sewaktu menginstall, dan buatlah database perusahaan tersebut,
database telah siap dipergunakan,
kemudian kopilah koding berikut,
from flask import Flask, render_template, request
from flask_mysqldb import MySQL
app = Flask(__name__)app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = '12345678'
app.config['MYSQL_DB'] = 'perusahaan'mysql = MySQL(app)@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == "POST":
details = request.form
Pendapatan = details['dapat']
Pengeluaran = details['keluar']
Biayaiklan = details['iklan']
cur = mysql.connection.cursor()
cur.execute("INSERT INTO keuangan (pendapatan, pengeluaran, biayaiklan) VALUES (%s, %s, %s)", (Pendapatan, Pengeluaran, Biayaiklan))
mysql.connection.commit()
cur.close()
return 'success'
return render_template('index.html')@app.route('/gaji')
def gaji():
cur = mysql.connection.cursor()
cur.execute('''SELECT pendapatan, pengeluaran, biayaiklan FROM keuangan''')
rv = cur.fetchall()
return render_template("indexgaji.html",value=rv)if __name__ == '__main__':
app.run()
simpanlah didalam folder baru yang anda buat, misalkan c:\perusahaan> dengan nama “appgaji.py” kemudian kopi juga koding berikut,
<HTML>
<BODY bgcolor="white">
<form method="POST" action="">
<center>
<H1> Keuntungan Bulanan </H1> <br>
Pendapatan <input type = "integer" name = "dapat" /> <br>
Pengeluaran <input type = "integer" name = "keluar" /> <br>
Biaya Iklan <input type = "integer" name= "iklan" /> <br>
<input type = "submit">
</center>
</form>
</BODY>
</HTML>
simpanlah dengan nama “index.html” di dalam folder “c:\perusahaan\templates” (artinya anda harus membuat dulu folder baru bernama templates didalam folder perusahaan)
dan juga koding berikut,
<HTML>
<BODY>
<table>
<thead>
<tr>
<th>pendapatan</th>
<th>pengeluaran</th>
<th>biayaiklan</th>
</tr>
</thead>
<tbody>
{% for row in value %}
<tr>
<td>{{row[0]}}</td>
<td>{{row[1]}}</td>
<td>{{row[2]}}</td>
</tr>
{% endfor %}
</tbody>
</table>
</BODY>
</HTML>
dan simpanlah dengan nama “indexgaji.html” di dalam folder “c:\perusahaan\templates”
kemudian bukalah command prompt dan jalankan perintah berikut,
c:\perusahaan\python appgaji.py
maka akan muncul seperti berikut,
kemudian bukalah browsing dan ketikkan alamat berikut, “http://127.0.0.1:5000”
kemudian masukkan beberapa data,
kemudian klik “submit”, maka akan menunjukkan jendela “success”
cobalah dengan beberapa tambahan data berikutnya, kemudian bisa kita check melalui MySQL dengan perintah “mysql> select * from keuangan;”
menunjukkan bahwa data telah masuk dalam database, kemudian bagaimana caranya kita menampilkan data tersebut dalam browser?
buka jendela browser baru lagi, kemudian ketikkan “http://127.0.0.1:5000/gaji”
berhasil!
selamat anda telah dapat menampilkan tabel data dari database “perusahaan”
referensi
- Python Select data from MySQL Database Table, https://pynative.com/python-mysql-select-query-to-fetch-data/
- Aditya Malviya, https://thenucleargeeks.com/2019/02/15/python-web-services-using-flask/