Rumah > Artikel > pangkalan data > Bagaimana untuk membangunkan sistem tempahan tiket dalam talian yang mudah menggunakan MySQL dan Python
Cara menggunakan MySQL dan Python untuk membangunkan sistem tempahan tiket dalam talian yang mudah
Dengan perkembangan pesat Internet, semakin ramai orang Mula menggunakan perkhidmatan dalam talian untuk membeli-belah, membuat tempahan dan banyak lagi. Sistem tempahan tiket dalam talian adalah salah satu senario aplikasi biasa. Artikel ini akan memperkenalkan cara menggunakan MySQL dan Python untuk membangunkan sistem tempahan tiket dalam talian yang mudah dan memberikan contoh kod khusus.
Pertama sekali, kita perlu mereka bentuk pangkalan data untuk menyimpan maklumat tiket, maklumat pengguna dan maklumat pesanan. Berikut ialah contoh reka bentuk pangkalan data yang mudah:
Jadual tiket (tiket):
Jadual pengguna (pengguna): #🎜🎜 #
pip install mysql-connector-python
import mysql.connector # 创建数据库连接 mydb = mysql.connector.connect( host="localhost", user="username", password="password", database="ticket_booking" ) # 创建游标对象 cursor = mydb.cursor()#🎜🎜 # Dalam kod, Anda perlu menggantikan "nama pengguna" dan "kata laluan" dengan nama pengguna dan kata laluan pangkalan data MySQL anda. Kod ini akan disambungkan ke pangkalan data bernama "tempahan_tiket".
Untuk membolehkan pengguna menggunakan sistem, kita perlu melaksanakan fungsi pendaftaran dan log masuk pengguna. Berikut ialah contoh kod mudah:
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
memasukkan maklumat pendaftaran pengguna ke dalam pangkalan data dan mengembalikan True selepas pendaftaran login_user mengesahkan sama ada e-mel dan kata laluan pengguna adalah betul dan mengembalikan ID pengguna. <li><ol start="5"></ol></li>Laksanakan fungsi tempahan tiket
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
register_user
函数将用户注册信息插入数据库,并在注册成功后返回True;login_user
函数则验证用户邮箱和密码是否正确,并返回用户ID。
现在我们来实现在线门票预订功能。以下是一个简单的实现示例:
# 注册用户 register_user("张三", "zhangsan@gmail.com", "123456") # 用户登录 user_id = login_user("zhangsan@gmail.com", "123456") # 预订门票 book_ticket(user_id, 1, 3)
以上代码中,book_ticket
Dalam kod di atas, fungsi book_ticket
mula-mula menyemak sama ada bilangan tiket adalah mencukupi, kemudian mengira jumlah harga pesanan dan sisipan maklumat pesanan ke dalam pangkalan data.
Anda boleh menggunakan kod berikut untuk menguji fungsi yang baru anda laksanakan:
rrreeeIn kod contoh di atas, kami mula-mula mendaftarkan pengguna bernama "Zhang San", kemudian log masuk menggunakan e-mel dan kata laluan pengguna, dan akhirnya menempah 3 tiket dengan ID 1.
Di atas ialah pengenalan dan contoh kod tentang cara menggunakan MySQL dan Python untuk membangunkan sistem tempahan tiket dalam talian yang mudah. Anda boleh mengubah suai dan melanjutkan kod dengan sewajarnya mengikut keperluan dan senario khusus untuk mencapai fungsi yang lebih lengkap.
Atas ialah kandungan terperinci Bagaimana untuk membangunkan sistem tempahan tiket dalam talian yang mudah menggunakan MySQL dan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!