>데이터 베이스 >MySQL 튜토리얼 >MySQL과 Python을 사용하여 간단한 온라인 티켓 예약 시스템을 개발하는 방법

MySQL과 Python을 사용하여 간단한 온라인 티켓 예약 시스템을 개발하는 방법

PHPz
PHPz원래의
2023-09-20 14:37:48733검색

MySQL과 Python을 사용하여 간단한 온라인 티켓 예약 시스템을 개발하는 방법

MySQL과 Python을 사용하여 간단한 온라인 티켓 예약 시스템을 개발하는 방법

인터넷의 급속한 발전으로 점점 더 많은 사람들이 쇼핑, 예약 및 기타 활동을 위해 온라인 서비스를 사용하기 시작했습니다. 온라인 티켓 예약 시스템은 일반적인 적용 시나리오 중 하나입니다. 이 기사에서는 MySQL과 Python을 사용하여 간단한 온라인 티켓 예약 시스템을 개발하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

  1. 데이터베이스 설계

먼저 티켓 정보, 사용자 정보, 주문 정보를 저장할 데이터베이스를 설계해야 합니다. 다음은 간단한 데이터베이스 설계 예입니다.

티켓 테이블(티켓):

  • ticket_id(기본 키)
  • name(티켓 이름)
  • price(티켓 가격)
  • yangity(티켓 수량)

User 테이블(사용자):

  • user_id(기본 키)
  • name(사용자 이름)
  • email(사용자 이메일)
  • password(사용자 비밀번호)

Order 테이블(주문):

  • order_id(기본 키) )
  • user_id (외래 키, 연관 사용자 테이블)
  • ticket_id (외래 키, 연관 티켓 테이블)
  • Quantity (티켓 수량)
  • total_price (총 주문 가격)
  • order_time (주문 시간)
  1. Create 데이터베이스 및 테이블

MySQL 명령줄 또는 MySQL Workbench와 같은 도구를 사용하여 "ticket_booking"이라는 데이터베이스를 만든 다음 데이터베이스에 위의 세 가지 테이블을 만듭니다.

  1. 데이터베이스에 연결

Python 코드에서는 MySQL을 사용하여 데이터베이스에 연결해야 합니다. 먼저 pip 명령을 사용하여 설치할 수 있는 Python용 MySQL 드라이버를 설치해야 합니다.

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"이라는 데이터베이스에 연결됩니다.

  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 함수는 사용자 등록 정보를 데이터베이스에 삽입하고 login_user 함수가 성공적으로 등록되면 True를 반환합니다. 사용자의 이메일과 비밀번호가 맞는지 확인하고 사용자 ID를 반환합니다. 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

以上代码中,book_ticket

    티켓 예매 기능 구현하기
    1. 이제 온라인 티켓 예매 기능을 구현해 보겠습니다. 다음은 간단한 구현 예입니다.
    # 注册用户
    register_user("张三", "zhangsan@gmail.com", "123456")
    
    # 用户登录
    user_id = login_user("zhangsan@gmail.com", "123456")
    
    # 预订门票
    book_ticket(user_id, 1, 3)

    위 코드에서 book_ticket 함수는 먼저 티켓 수가 충분한지 확인한 다음 총 주문 가격을 계산하고 주문 정보를 데이터베이스에 삽입합니다. .

    테스트 코드

    🎜다음 코드를 사용하여 방금 구현한 기능을 테스트할 수 있습니다. 🎜rrreee🎜위 예제 코드에서는 먼저 "Zhang San"이라는 사용자를 등록한 다음 해당 사용자의 이메일과 비밀번호를 사용합니다. 로그인 시 ID 1로 예매한 마지막 티켓은 3장입니다. 🎜🎜위는 MySQL과 Python을 사용하여 간단한 온라인 티켓 예약 시스템을 개발하는 방법에 대한 소개 및 코드 예제입니다. 보다 완전한 기능을 달성하기 위해 특정 요구 사항과 시나리오에 따라 코드를 적절하게 수정하고 확장할 수 있습니다. 🎜

위 내용은 MySQL과 Python을 사용하여 간단한 온라인 티켓 예약 시스템을 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.