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

MySQL と Python を使用してシンプルなオンライン チケット予約システムを開発する方法

PHPz
PHPzオリジナル
2023-09-20 14:37:48626ブラウズ

MySQL と Python を使用してシンプルなオンライン チケット予約システムを開発する方法

MySQL と Python を使用してシンプルなオンライン チケット予約システムを開発する方法

インターネットの急速な発展に伴い、ますます多くの人がオンライン サービスを利用し始めています。 . ショッピング、予約など。オンライン チケット予約システムは、一般的なアプリケーション シナリオの 1 つです。この記事では、MySQL と Python を使用してシンプルなオンライン チケット予約システムを開発する方法を紹介し、具体的なコード例を示します。

  1. データベース設計

まず、チケット情報、ユーザー情報、注文情報を保存するデータベースを設計する必要があります。以下は簡単なデータベース設計の例です:

チケット テーブル (チケット):

  • ticket_id (主キー)
  • name (チケット名)
  • price (チケット価格)
  • quantity (チケット数量)

User テーブル (ユーザー):

  • user_id (主キー)
  • name (ユーザー名)
  • email (ユーザーのメールアドレス)
  • password (ユーザーのパスワード)

Order form (注文):

  • order_id (主キー)
  • user_id (外部キー、関連するユーザー テーブル)
  • ticket_id (外部キー、関連するチケット テーブル)
  • quantity (チケット数量)
  • total_price (注文の合計価格)
  • order_time (注文時刻)
  1. データベースとテーブルの作成

使用MySQL コマンドラインまたは MySQL Workbench などのツールは、「ticket_booking」という名前のデータベースを作成し、そのデータベース内に上記の 3 つのテーブルを作成します。

  1. データベースへの接続

Python コードでは、MySQL を使用してデータベースに接続する必要があります。まず、Python 用の MySQL ドライバーをインストールする必要があります。これは pip コマンドを使用してインストールできます:

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

コード内、「「ユーザー名」と「パスワード」を MySQL データベースのユーザー名とパスワードに置き換える必要があります。このコードは、「ticket_booking」という名前のデータベースに接続します。

  1. ユーザー登録・ログイン機能の実装

ユーザーがシステムを利用するためには、ユーザー登録・ログイン機能を実装する必要があります。以下は簡単なサンプル コードです:

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 を返します。 # function その後、ユーザーのメールアドレスとパスワードが正しいかどうかを確認し、ユーザー 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

上記のコードでは、

book_ticket

関数はまずチケットの数が十分であるかどうかを確認し、次に合計注文価格を計算して注文情報を挿入します。データベースに。

テスト コード
  1. 次のコードを使用して、実装したばかりの関数をテストできます。
# 注册用户
register_user("张三", "zhangsan@gmail.com", "123456")

# 用户登录
user_id = login_user("zhangsan@gmail.com", "123456")

# 预订门票
book_ticket(user_id, 1, 3)

上記のコード例では、最初に「Zhang San」ユーザーという名前のファイルを作成し、ユーザーの電子メールとパスワードを使用してログインし、最後に ID 1 でチケットを 3 枚予約します。

上記は、MySQL と Python を使用してシンプルなオンライン チケット予約システムを開発する方法の紹介とコード例です。特定のニーズやシナリオに応じてコードを適切に変更および拡張して、より完全な機能を実現できます。

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

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