Wednesday, March 20, 2024

Python : Python Source Code for Menu Page, Data Entry Form, and Table Page for Data Display

This is the menu page to display the data input menu, the data edit menu, and the menu to display a table containing the data.


This is the source code for the menu page. The menu page is at the forefront and serves as a gateway to access various features in the application.


 <!DOCTYPE html>  
 <html>  
      <head>  
           <meta name="viewport" content="width=device-width, initial-scale=1">  
           <style>  
                .vertical-menu {  
                     width: 200px;  
                }  
                .vertical-menu a{  
                     background-color: #eee;  
                     color: black;  
                     display: block;  
                     padding: 12px;  
                     text-decoration: none;  
                }  
                .vertical-menu a:hover {  
                     background-color: #ccc;  
                }  
                .vertical-menu a.active{  
                     background-color: #04AA6D;  
                     color: white;  
                }  
           </style>  
      </head>  
      <body>  
           <h1>Vertical Menu</h1>  
           <div class="vertical-menu">  
                <a href="{{ url_for('halaman1')}}" class="active">Halaman Menu</a>  
                <a href="{{ url_for('halaman2')}}">Halaman Simpan Data</a>  
                <a href="{{ url_for('halaman3')}}">Halaman Edit Data</a>  
                <a href="{{ url_for('halaman4')}}">Halaman Tabel Data</a>  
           </div>  
      </body>  
 </html>  

This is the source code for the data input page. There is also a button to display a table containing the data stored in the MariaDB table. There is also a button to return to the Menu page.


 <!DOCTYPE html>  
 <html>  
      <head>  
           <meta name="viewport" content="width=device-width, initial-scale=1">  
           <style>  
                input[type=text], select {  
                     width: 100%;  
                     padding: 12px 20px;  
                     margin: 8px 0p;  
                     display: inline-block;  
                     border: 1px solid #ccc;  
                     border-radius: 4px;  
                     box-sizing: border-box;  
                }  
                input[type=submit] {  
                     width: 100%;  
                     background-color: #4CAF50;  
                     color: white;  
                     padding: 14px 20px;  
                     margin: 8px 0;  
                     border: none;  
                     border-radius: 4px;  
                     cursor: pointer;  
                }  
                input[type=submit]:hover {  
                     background-color: #45a049;  
                }  
                div {  
                     border-radius: 5px;  
                     background-color: #8ecaed;  
                     padding: 20px;  
                }  
           </style>  
      </head>  
      <body>  
           <h1>Halaman Input Data</h1>  
           <div>  
                <form action="http://1.1.3.9:8543/halaman2" method="POST" id="formSimpanDataSurat" name="formSimpanDataSurat">  
                     <label for="kodedatanomersurat1">Kode Data Nomer Surat</label>  
                     <input type="text" id="kodedatanomersurat1" name="kodedatanomersurat1" placeholder="Isikan Kode Data Nomer Surat">  
                     <label for="tanggalsurat1">Tanggal Surat</label>  
                     <input type="text" id="tanggalsurat1" name="tanggalsurat1" placeholder="Isikan Tanggal Surat">  
                     <label for="nomersurat1">Nomer Surat</label>  
                     <input type="text" id="nomersurat1" name="nomersurat1" placeholder="Isikan Nomer Surat">  
                     <label for="perihalsurat1">Perihal Surat</label>  
                     <input type="text" id="perihalsurat1" name="perihalsurat1" placeholder="Isikan Perihal Surat">  
                     <input type="submit" name="tombolPerintah" value="Simpan Data">  
                     <input type="submit" name="tombolPerintah" value="Tampilkan Tabel Data">  
                     <input type="submit" name="tombolPerintah" value="Kembali Ke Halaman Menu">  
                </form>  
           </div>  
      </body>  
 </html>  

This is the HTML source code to display a table containing data from the MariaDB server.


 <!DOCTYPE html>  
 <html>  
      <head>  
           <style>  
                #dataNama {  
                     font-family: Arial, Helvetica, sans-serif;  
                     border-collapse: collapse;  
                     width: 100%;  
                }  
                #dataNama td, #dataNama th {  
                     border: 1px solid #ddd;  
                     padding: 8px;  
                }  
                #dataNama tr:nth-child(even){background-color: #f2f2f2;}  
                #dataNama tr:hover {background-color: #dataNama}  
                #dataNama th{  
                     padding-top: 12px;  
                     padding-bottom: 12px;  
                     text-align: left;  
                     background-color: #04AA6D;  
                     color: white;  
                }  
           </style>  
      </head>  
      <body>  
           <table id="dataNama">  
                <!--- Ini adalah source code untuk membuat header table ---->  
                {% if hasil1 %}  
                <tr>  
                     {% for key in hasil1[0] %}  
                          <th>{{ key }}</th>  
                     {% endfor %}  
                </tr>  
                {% endif %}  
                <!----- ini adalah source code untuk membuat isi tabel  ------>  
                {% for isitabel in hasil1 %}  
                <tr>  
                     {% for value in isitabel.values()%}  
                          <td>{{ value }}</td>  
                     {% endfor %}  
                </tr>  
                {% endfor %}  
           </table>  
      </body>  
 </html>  

This is the source code written in Python. This source code is used to control and run the features on the three web pages above.

 from flask import Flask, render_template, request, url_for, redirect  
 from jinja2 import Template, Environment, FileSystemLoader  
 import mariadb  
 import sys  
 aplikasi = Flask(__name__)  
 @aplikasi.route('/')  
 def halaman1():  
   return render_template("halaman1.html")  
 @aplikasi.route('/halaman2', methods=['GET','POST'])  
 def halaman2():  
   if request.method == 'POST':  
     if request.form['tombolPerintah'] == 'Simpan Data':  
       kodeDataNomerSurat1 = request.form.get('kodedatanomersurat1')  
       tanggalSurat1 = request.form.get('tanggalsurat1')  
       nomerSurat1 = request.form.get('nomersurat1')  
       perihalSurat1 = request.form.get('perihalsurat1')  
       koneksi = mariadb.connect(user="steven",password="kucing",host="1.1.3.9",port=3306,database="saham")  
       kursor = koneksi.cursor()  
       kursor.execute("INSERT INTO nomersurat(kodedatanomersurat,tanggalsurat,nomersurat,perihalsurat) VALUES (%s,%s,%s,%s)",(kodeDataNomerSurat1,tanggalSurat1,nomerSurat1,perihalSurat1))  
       koneksi.commit()  
       koneksi.close()  
       return redirect(url_for('halaman1'))  
     # elif request.form['tombolPerintah'] == 'Tampilkan Tabel Data':  
     elif request.form['tombolPerintah'] == 'Tampilkan Tabel Data':  
       koneksi = mariadb.connect(user="steven",password="kucing",host="1.1.3.9",port=3306,database="saham")  
       kursor = koneksi.cursor(dictionary=True)  
       kursor.execute("SELECT kodedatanomersurat,tanggalsurat,nomersurat,perihalsurat FROM nomersurat")  
       hasil = kursor.fetchall()  
       return render_template("halaman4.html",hasil1=hasil)  
     # elif request.form['tombolPerintah'] == 'Kembali Ke Halaman Menu':  
     elif request.form['tombolPerintah'] == 'Kembali Ke Halaman Menu':  
       return redirect(url_for('halaman1'))  
   return render_template("halaman2.html")  
 @aplikasi.route('/halaman3')  
 def halaman3():  
   return render_template("halaman3.html")  
 @aplikasi.route('/halaman4')  
 def halaman4():  
   return render_template("halaman4.html")  
 if __name__ == '__main__':  
   aplikasi.run(host="0.0.0.0",port=8543,debug=True)  

No comments:

Post a Comment