Heim > Datenbank > MySQL-Tutorial > Hauptteil

So entwickeln Sie ein einfaches Online-Bestellsystem mit MySQL und Python

WBOY
Freigeben: 2023-09-21 15:54:30
Original
1117 Leute haben es durchsucht

So entwickeln Sie ein einfaches Online-Bestellsystem mit MySQL und Python

So entwickeln Sie ein einfaches Online-Bestellsystem für Lebensmittel mit MySQL und Python

Mit der rasanten Entwicklung des Internets entscheiden sich immer mehr Menschen dafür, Lebensmittel online zu bestellen, um ihren täglichen Ernährungsbedarf zu decken. Um den Bedürfnissen der Nutzer gerecht zu werden, haben viele Unternehmen verschiedene Online-Bestellsysteme entwickelt. In diesem Artikel wird erläutert, wie Sie mithilfe von MySQL und Python ein einfaches Online-Bestellsystem entwickeln, und es werden spezifische Codebeispiele bereitgestellt.

Zuerst müssen wir eine MySQL-Datenbank erstellen, um Menüinformationen, Benutzerinformationen und Bestellinformationen zu speichern. Die entsprechende Tabelle kann mit der folgenden SQL-Anweisung erstellt werden:

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
);
Nach dem Login kopieren

Als nächstes verwenden wir Python- und MySQL-Verbindungsbibliotheken, um Datenbankverbindungen und -operationen zu implementieren. Das Folgende ist ein Codebeispiel für eine MySQL-Verbindung:

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()
Nach dem Login kopieren

Jetzt können wir das Menü aus der Datenbank abfragen, die Benutzerregistrierung und -anmeldung durchführen und Bestellungen aufgeben.

Damit Nutzer das Online-Bestellsystem nutzen können, benötigen wir eine einfache Benutzeroberfläche. Das Folgende ist ein Codebeispiel, das die Flask-Bibliothek von Python verwendet, um eine einfache Webschnittstelle zu implementieren:

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()
Nach dem Login kopieren

Der obige Code erstellt eine einfache Webschnittstelle basierend auf Flask, einschließlich einer Homepage, einer Benutzerregistrierungsseite, einer Benutzeranmeldeseite und einer Bestellseite.

Abschließend müssen wir die entsprechende HTML-Vorlagendatei erstellen, um die Weboberfläche darzustellen. Das Folgende ist ein einfaches Beispiel:

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

success.html:

<!DOCTYPE html>
<html>
<head>
    <title>Success</title>
</head>
<body>
    <h2>Success</h2>
    <p>Your order has been placed successfully.</p>
</body>
</html>
Nach dem Login kopieren

Oben erfahren Sie, wie Sie eine einfache Online-Bestellung mit MySQL und entwickeln Python Detaillierte Codebeispiele für das System. Anhand dieses Beispiels können Sie Ihr Online-Bestellsystem weiter ausbauen und an Ihre tatsächlichen Bedürfnisse anpassen.

Das obige ist der detaillierte Inhalt vonSo entwickeln Sie ein einfaches Online-Bestellsystem mit MySQL und Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage