ホームページ  >  記事  >  データベース  >  MySQL と Python を使用してシンプルなオンライン注文システムを開発する方法

MySQL と Python を使用してシンプルなオンライン注文システムを開発する方法

WBOY
WBOYオリジナル
2023-09-21 15:54:301114ブラウズ

MySQL と Python を使用してシンプルなオンライン注文システムを開発する方法

MySQL と Python を使用してシンプルなオンライン注文システムを開発する方法

インターネットの急速な発展に伴い、問題を解決するためにオンラインで食品を注文する人が増えています。日常の問題 食事のニーズ。ユーザーのニーズに応えるために、多くの企業がさまざまなオンライン注文システムを開発しています。この記事では、MySQL と Python を使用してシンプルなオンライン注文システムを開発する方法を紹介し、具体的なコード例を示します。

まず、メニュー情報、ユーザー情報、注文情報を保存するための MySQL データベースを作成する必要があります。対応するテーブルは、次の SQL ステートメントを使用して作成できます:

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
);

次に、Python および MySQL 接続ライブラリを使用して、データベース接続と操作を実装します。以下は 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()

これで、データベースからメニューをクエリし、ユーザー登録とログインを実装し、注文を行うことができます。

ユーザーがオンライン注文システムを使用するには、シンプルなユーザー インターフェイスが必要です。以下は、Python の Flask ライブラリを使用して単純な Web インターフェイスを実装するコード例です:

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()

上記のコードは、ホームページ、ユーザー登録ページ、ユーザー ログイン ページ、注文など、Flask に基づいた単純な Web インターフェイスを作成します。ページ。

最後に、Web インターフェイスを表示するために、対応する HTML テンプレート ファイルを作成する必要があります。簡単な例を次に示します。

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>

上記は、MySQL と Python を使用してシンプルなオンライン注文システムを開発する方法の詳細なコード例です。この例を参照することで、実際のニーズに合わせてオンライン注文システムをさらに拡張および最適化できます。

以上がMySQL と Python を使用してシンプルなオンライン注文システムを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。