Maison > Article > base de données > Comment développer un système de commande en ligne simple en utilisant MySQL et Python
Comment développer un système simple de commande de nourriture en ligne à l'aide de MySQL et Python
Avec le développement rapide d'Internet, de plus en plus de personnes choisissent de commander de la nourriture en ligne pour répondre à leurs besoins alimentaires quotidiens. Afin de répondre aux besoins des utilisateurs, de nombreuses entreprises ont développé différents systèmes de commande en ligne. Cet article expliquera comment utiliser MySQL et Python pour développer un système de commande en ligne simple et fournira des exemples de code spécifiques.
Tout d'abord, nous devons créer une base de données MySQL pour stocker les informations sur les menus, les informations sur les utilisateurs et les informations sur les commandes. La table correspondante peut être créée à l'aide de l'instruction SQL suivante :
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 );
Ensuite, nous utilisons les bibliothèques de connexion Python et MySQL pour implémenter les connexions et les opérations de base de données. Voici un exemple de code pour une connexion 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()
Nous pouvons désormais interroger le menu à partir de la base de données, mettre en œuvre l'enregistrement et la connexion des utilisateurs, et passer des commandes.
Pour que les utilisateurs puissent utiliser le système de commande en ligne, nous avons besoin d'une interface utilisateur simple. Ce qui suit est un exemple de code utilisant la bibliothèque Flask de Python pour implémenter une interface Web simple :
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()
Le code ci-dessus crée une interface Web simple basée sur Flask, comprenant une page d'accueil, une page d'enregistrement de l'utilisateur, une page de connexion utilisateur et une page de commande.
Enfin, nous devons créer le fichier modèle html correspondant pour présenter l'interface Web. Voici un exemple simple :
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>
Ce qui précède explique comment développer une commande en ligne simple à l'aide de MySQL et Python Exemples de code détaillés pour le système. En vous référant à cet exemple, vous pouvez développer et optimiser davantage votre système de commande en ligne pour répondre à vos besoins réels.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!