如何利用MySQL和Python開發一個簡單的線上票券預訂系統
隨著網路的快速發展,越來越多的人開始使用線上服務進行購物、預訂等活動。線上門票預訂系統是其中常見的應用場景。本文將介紹如何使用MySQL和Python來開發一個簡單的線上票券預訂系統,並提供具體的程式碼範例。
首先,我們需要設計一個資料庫來儲存門票資訊、使用者資訊和訂單資訊。以下是一個簡單的資料庫設計範例:
票務表(ticket):
使用者表(user):
pip install mysql-connector-python然後,透過以下程式碼連接到MySQL資料庫:
import mysql.connector # 创建数据库连接 mydb = mysql.connector.connect( host="localhost", user="username", password="password", database="ticket_booking" ) # 创建游标对象 cursor = mydb.cursor()在程式碼中,你需要將" username"和"password"替換為你的MySQL資料庫使用者名稱和密碼。這段程式碼將連接到名為"ticket_booking"的資料庫。
def register_user(name, email, password): # 检查邮箱是否已被注册 cursor.execute("SELECT * FROM user WHERE email = %s", (email,)) if cursor.fetchone() is not None: print("该邮箱已被注册!") return False # 将用户信息插入数据库 cursor.execute("INSERT INTO user (name, email, password) VALUES (%s, %s, %s)", (name, email, password)) mydb.commit() print("用户注册成功!") return True def login_user(email, password): # 查询用户信息 cursor.execute("SELECT user_id FROM user WHERE email = %s AND password = %s", (email, password)) user = cursor.fetchone() if user is not None: print("用户登录成功!") return user[0] print("邮箱或密码错误!") return None以上程式碼中,
register_user函數將使用者註冊資訊插入資料庫,並在註冊成功後傳回True;
login_user函數則驗證使用者信箱和密碼是否正確,並傳回使用者ID。
def book_ticket(user_id, ticket_id, quantity): # 检查门票数量是否足够 cursor.execute("SELECT quantity FROM ticket WHERE ticket_id = %s", (ticket_id,)) ticket_quantity = cursor.fetchone()[0] if ticket_quantity < quantity: print("门票数量不足,请重新选择!") return False # 计算订单总价 cursor.execute("SELECT price FROM ticket WHERE ticket_id = %s", (ticket_id,)) ticket_price = cursor.fetchone()[0] total_price = ticket_price * quantity # 创建订单 cursor.execute("INSERT INTO `order` (user_id, ticket_id, quantity, total_price) VALUES (%s, %s, %s, %s)", (user_id, ticket_id, quantity, total_price)) mydb.commit() print("订单创建成功!") return True以上程式碼中,
book_ticket函數首先檢查門票數量是否足夠,然後計算訂單總價並將訂單資訊插入資料庫。
# 注册用户 register_user("张三", "zhangsan@gmail.com", "123456") # 用户登录 user_id = login_user("zhangsan@gmail.com", "123456") # 预订门票 book_ticket(user_id, 1, 3)以上範例程式碼中,我們先註冊一個名為"張三"的用戶,然後使用該用戶的郵箱和密碼進行登錄,最後預訂ID為1的門票,數量為3張。 以上就是如何利用MySQL和Python開發一個簡單的線上票券預訂系統的介紹和程式碼範例。你可以根據具體的需求和場景對程式碼進行適當修改和擴展,以實現更完整的功能。
以上是如何利用MySQL和Python開發一個簡單的線上票券預訂系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!