亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線(xiàn)咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

如何利用MySQL和Python開(kāi)發(fā)一個(gè)簡(jiǎn)單的在線(xiàn)訂餐系統(tǒng)

隨著互聯(lián)網(wǎng)的快速發(fā)展,越來(lái)越多的人選擇在線(xiàn)訂餐來(lái)解決日常的飲食需求。為了滿(mǎn)足用戶(hù)的需求,許多公司開(kāi)發(fā)了各式各樣的在線(xiàn)訂餐系統(tǒng)。本文將介紹如何使用MySQL和Python來(lái)開(kāi)發(fā)一個(gè)簡(jiǎn)單的在線(xiàn)訂餐系統(tǒng),并提供具體的代碼示例。

首先,我們需要?jiǎng)?chuàng)建一個(gè)MySQL數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)菜單信息、用戶(hù)信息以及訂單信息。可以使用以下SQL語(yǔ)句創(chuàng)建相應(yīng)的表:

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

登錄后復(fù)制

接下來(lái),我們使用Python和MySQL連接庫(kù)來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接和操作。以下是MySQL連接的代碼示例:

import mysql.connector

# 連接MySQL數(shù)據(jù)庫(kù)
def connect_db():
    conn = mysql.connector.connect(
        host="localhost",
        user="your_username",
        password="your_password",
        database="your_database"
    )
    return conn

# 查詢(xún)菜單
def get_menu():
    conn = connect_db()
    cursor = conn.cursor()
    cursor.execute("SELECT * FROM menu")
    menu = cursor.fetchall()
    cursor.close()
    conn.close()
    return menu

# 用戶(hù)注冊(cè)
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()

# 用戶(hù)登錄
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()

登錄后復(fù)制

現(xiàn)在我們已經(jīng)可以從數(shù)據(jù)庫(kù)中查詢(xún)菜單、實(shí)現(xiàn)用戶(hù)注冊(cè)和登錄以及下訂單了。

為了讓用戶(hù)能夠使用在線(xiàn)訂餐系統(tǒng),我們需要一個(gè)簡(jiǎn)單的用戶(hù)界面。以下是使用Python的Flask庫(kù)來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的網(wǎng)頁(yè)界面的代碼示例:

from flask import Flask, render_template, request
app = Flask(__name__)

# 用戶(hù)界面
@app.route("/")
def index():
    menu = get_menu()
    return render_template("index.html", menu=menu)

# 用戶(hù)注冊(cè)
@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")

# 用戶(hù)登錄
@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()

登錄后復(fù)制

上述代碼創(chuàng)建了一個(gè)基于Flask的簡(jiǎn)易網(wǎng)頁(yè)界面,包括主頁(yè)、用戶(hù)注冊(cè)頁(yè)、用戶(hù)登錄頁(yè)和下訂單頁(yè)。

最后,我們需要?jiǎng)?chuàng)建相應(yīng)的html模板文件來(lái)呈現(xiàn)網(wǎng)頁(yè)界面。以下是一個(gè)簡(jiǎn)單的示例:

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>

登錄后復(fù)制

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>

登錄后復(fù)制

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>

登錄后復(fù)制

success.html:

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

登錄后復(fù)制

以上就是如何利用MySQL和Python開(kāi)發(fā)一個(gè)簡(jiǎn)單的在線(xiàn)訂餐系統(tǒng)的詳細(xì)代碼示例。通過(guò)參考該示例,您可以進(jìn)一步擴(kuò)展和優(yōu)化您的在線(xiàn)訂餐系統(tǒng),以適應(yīng)實(shí)際需求。

以上就是如何利用MySQL和Python開(kāi)發(fā)一個(gè)簡(jiǎn)單的在線(xiàn)訂餐系統(tǒng)的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!

分享到:
標(biāo)簽:利用 在線(xiàn) 開(kāi)發(fā) 簡(jiǎn)單 訂餐
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定