Heim > Datenbank > MySQL-Tutorial > Hauptteil

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

PHPz
Freigeben: 2023-09-20 14:37:48
Original
700 Leute haben es durchsucht

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

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

Mit der rasanten Entwicklung des Internets beginnen immer mehr Menschen, Online-Dienste zum Einkaufen, Buchen und für andere Aktivitäten zu nutzen. Das Online-Ticketbuchungssystem ist eines der häufigsten Anwendungsszenarien. In diesem Artikel wird erläutert, wie Sie mithilfe von MySQL und Python ein einfaches Online-Ticketbuchungssystem entwickeln, und es werden spezifische Codebeispiele bereitgestellt.

  1. Datenbankdesign

Zuerst müssen wir eine Datenbank entwerfen, um Ticketinformationen, Benutzerinformationen und Bestellinformationen zu speichern. Das Folgende ist ein einfaches Datenbankdesign-Beispiel:

Tickettabelle (Ticket):

  • ticket_id (Primärschlüssel)
  • name (Ticketname)
  • price (Ticketpreis)
  • quantity (Ticketmenge)

Benutzer Tabelle (Benutzer):

  • Benutzer-ID (Primärschlüssel)
  • Name (Benutzername)
  • E-Mail (Benutzer-E-Mail)
  • Passwort (Benutzerpasswort)

Bestelltabelle (Bestellung):

  • Bestell-ID (Primärschlüssel )
  • user_id (Fremdschlüssel, zugehörige Benutzertabelle)
  • ticket_id (Fremdschlüssel, zugehörige Tickettabelle)
  • quantity (Ticketmenge)
  • total_price (Gesamtbestellpreis)
  • order_time (Bestellzeit)
  1. Create Datenbank und Tabellen

Verwenden Sie Tools wie die MySQL-Befehlszeile oder MySQL Workbench, um eine Datenbank mit dem Namen „ticket_booking“ zu erstellen, und erstellen Sie dann die oben genannten drei Tabellen in der Datenbank.

  1. Mit der Datenbank verbinden

Im Python-Code müssen wir über MySQL eine Verbindung zur Datenbank herstellen. Zuerst müssen wir den MySQL-Treiber für Python installieren, der mit dem pip-Befehl installiert werden kann:

pip install mysql-connector-python
Nach dem Login kopieren

Dann stellen Sie über den folgenden Code eine Verbindung zur MySQL-Datenbank her:

import mysql.connector

# 创建数据库连接
mydb = mysql.connector.connect(
  host="localhost",
  user="username",
  password="password",
  database="ticket_booking"
)

# 创建游标对象
cursor = mydb.cursor()
Nach dem Login kopieren

Im Code müssen Sie „Benutzername“ ersetzen. und „Passwort“ mit Ihrem MySQL-Datenbank-Benutzernamen und Passwort. Dieser Code stellt eine Verbindung zur Datenbank mit dem Namen „ticket_booking“ her.

  1. Benutzerregistrierungs- und Anmeldefunktionen implementieren

Damit Benutzer das System nutzen können, müssen wir Benutzerregistrierungs- und Anmeldefunktionen implementieren. Das Folgende ist ein einfacher Beispielcode:

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

Im obigen Code fügt die Funktion register_user Benutzerregistrierungsinformationen in die Datenbank ein und gibt nach erfolgreicher Registrierung „True“ zurück; überprüft Überprüfen Sie, ob die E-Mail-Adresse und das Passwort des Benutzers korrekt sind, und geben Sie die Benutzer-ID zurück. register_user函数将用户注册信息插入数据库,并在注册成功后返回True;login_user函数则验证用户邮箱和密码是否正确,并返回用户ID。

  1. 实现门票预订功能

现在我们来实现在线门票预订功能。以下是一个简单的实现示例:

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

以上代码中,book_ticket

    Ticketbuchungsfunktion implementieren
    1. Jetzt implementieren wir die Online-Ticketbuchungsfunktion. Das Folgende ist ein einfaches Implementierungsbeispiel:
    # 注册用户
    register_user("张三", "zhangsan@gmail.com", "123456")
    
    # 用户登录
    user_id = login_user("zhangsan@gmail.com", "123456")
    
    # 预订门票
    book_ticket(user_id, 1, 3)
    Nach dem Login kopieren

    Im obigen Code prüft die Funktion book_ticket zunächst, ob die Anzahl der Tickets ausreicht, berechnet dann den Gesamtbestellpreis und fügt die Bestellinformationen in die Datenbank ein .

    Code testen

    🎜Mit dem folgenden Code können Sie die gerade implementierte Funktion testen: 🎜rrreee🎜Im obigen Beispielcode registrieren wir zunächst einen Benutzer mit dem Namen „Zhang San“ und verwenden dann die E-Mail-Adresse und das Passwort des Benutzers Um sich einzuloggen, ist das letzte mit der ID 1 gebuchte Ticket 3 Tickets. 🎜🎜Das Obige ist eine Einführung und ein Codebeispiel für die Verwendung von MySQL und Python zur Entwicklung eines einfachen Online-Ticketbuchungssystems. Sie können den Code je nach spezifischen Anforderungen und Szenarien entsprechend ändern und erweitern, um umfassendere Funktionen zu erreichen. 🎜

    Das obige ist der detaillierte Inhalt vonSo entwickeln Sie ein einfaches Online-Ticketbuchungssystem 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