Rumah > Artikel > pangkalan data > Bagaimana untuk membangunkan sistem pesanan dalam talian yang mudah menggunakan MySQL dan Python
Bagaimana untuk membangunkan sistem pesanan makanan dalam talian yang mudah menggunakan MySQL dan Python
Dengan perkembangan pesat Internet, semakin ramai orang memilih untuk memesan makanan dalam talian untuk menyelesaikan keperluan diet harian mereka. Bagi memenuhi keperluan pengguna, banyak syarikat telah membangunkan pelbagai sistem pesanan dalam talian. Artikel ini akan memperkenalkan cara menggunakan MySQL dan Python untuk membangunkan sistem pesanan dalam talian yang mudah dan menyediakan contoh kod khusus.
Pertama, kita perlu mencipta pangkalan data MySQL untuk menyimpan maklumat menu, maklumat pengguna dan maklumat pesanan. Jadual yang sepadan boleh dibuat menggunakan pernyataan SQL berikut:
CREATE TABLE IF NOT EXISTS `menu` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(100) NOT NULL, `price` DECIMAL(10,2) NOT NULL ); CREATE TABLE IF NOT EXISTS `users` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `username` VARCHAR(100) NOT NULL, `password` VARCHAR(100) NOT NULL ); CREATE TABLE IF NOT EXISTS `orders` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `user_id` INT NOT NULL, `menu_id` INT NOT NULL, `quantity` INT NOT NULL, `date` DATE NOT NULL );
Seterusnya, kami menggunakan perpustakaan sambungan Python dan MySQL untuk melaksanakan sambungan dan operasi pangkalan data. Berikut ialah contoh kod untuk sambungan MySQL:
import mysql.connector # 连接MySQL数据库 def connect_db(): conn = mysql.connector.connect( host="localhost", user="your_username", password="your_password", database="your_database" ) return conn # 查询菜单 def get_menu(): conn = connect_db() cursor = conn.cursor() cursor.execute("SELECT * FROM menu") menu = cursor.fetchall() cursor.close() conn.close() return menu # 用户注册 def register(username, password): conn = connect_db() cursor = conn.cursor() cursor.execute("INSERT INTO users (username, password) VALUES (%s, %s)", (username, password)) conn.commit() cursor.close() conn.close() # 用户登录 def login(username, password): conn = connect_db() cursor = conn.cursor() cursor.execute("SELECT * FROM users WHERE username = %s AND password = %s", (username, password)) user = cursor.fetchone() cursor.close() conn.close() return user # 下订单 def place_order(user_id, menu_id, quantity, date): conn = connect_db() cursor = conn.cursor() cursor.execute("INSERT INTO orders (user_id, menu_id, quantity, date) VALUES (%s, %s, %s, %s)", (user_id, menu_id, quantity, date)) conn.commit() cursor.close() conn.close()
Kini kita boleh menanyakan menu daripada pangkalan data, melaksanakan pendaftaran dan log masuk pengguna, dan membuat pesanan.
Untuk pengguna menggunakan sistem pesanan dalam talian, kami memerlukan antara muka pengguna yang mudah. Berikut ialah contoh kod menggunakan perpustakaan Flask Python untuk melaksanakan antara muka web yang ringkas:
from flask import Flask, render_template, request app = Flask(__name__) # 用户界面 @app.route("/") def index(): menu = get_menu() return render_template("index.html", menu=menu) # 用户注册 @app.route("/register", methods=["GET", "POST"]) def register_page(): if request.method == "POST": username = request.form["username"] password = request.form["password"] register(username, password) return render_template("success.html") return render_template("register.html") # 用户登录 @app.route("/login", methods=["GET", "POST"]) def login_page(): if request.method == "POST": username = request.form["username"] password = request.form["password"] user = login(username, password) if user: return render_template("success.html") else: return render_template("login.html", error="Invalid username or password.") return render_template("login.html") # 下订单 @app.route("/place_order", methods=["POST"]) def place_order_page(): user_id = request.form["user_id"] menu_id = request.form["menu_id"] quantity = request.form["quantity"] date = request.form["date"] place_order(user_id, menu_id, quantity, date) return render_template("success.html") if __name__ == "__main__": app.run()
Kod di atas mencipta antara muka web ringkas berdasarkan Flask, termasuk halaman utama, halaman pendaftaran pengguna, halaman log masuk pengguna dan halaman pesanan.
Akhir sekali, kita perlu mencipta fail templat html yang sepadan untuk membentangkan antara muka web. Berikut ialah contoh mudah:
index.html:
<!DOCTYPE html> <html> <head> <title>Online Ordering System</title> </head> <body> {% for item in menu %} <h3>{{ item[1] }}</h3> <p>Price: {{ item[2] }}</p> <form action="/place_order" method="post"> <input type="hidden" name="user_id" value="1"> <input type="hidden" name="menu_id" value="{{ item[0] }}"> <input type="number" name="quantity" min="1" max="10" placeholder="Quantity" required> <input type="date" name="date" required> <button type="submit">Order</button> </form> <hr> {% endfor %} </body> </html>
register.html:
<!DOCTYPE html> <html> <head> <title>User Registration</title> </head> <body> <h2>User Registration</h2> <form action="/register" method="post"> <input type="text" name="username" placeholder="Username" required> <input type="password" name="password" placeholder="Password" required> <button type="submit">Register</button> </form> </body> </html>
login.html:
<!DOCTYPE html> <html> <head> <title>User Login</title> </head> <body> <h2>User Login</h2> {% if error %} <p style="color:red;">{{ error }}</p> {% end %} <form action="/login" method="post"> <input type="text" name="username" placeholder="Username" required> <input type="password" name="password" placeholder="Password" required> <button type="submit">Login</button> </form> </body> </html>
success.html:
<!DOCTYPE html> <html> <head> <title>Success</title> </head> <body> <h2>Success</h2> <p>Your order has been placed successfully.</p> </body> </html>
Di atas ialah cara untuk membangunkan pesanan dalam talian yang mudah menggunakan MySQL dan Contoh kod terperinci Python untuk sistem. Dengan merujuk kepada contoh ini, anda boleh mengembangkan dan mengoptimumkan lagi sistem pesanan dalam talian anda untuk memenuhi keperluan sebenar anda.
Atas ialah kandungan terperinci Bagaimana untuk membangunkan sistem pesanan dalam talian yang mudah menggunakan MySQL dan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!