Railway Reservation System Python Code
import [Link]
# ---------- DATABASE CONNECTION ----------
mycon = [Link](
host="localhost",
user="root",
passwd="root"
)
cursor = [Link]()
[Link] = True
# ---------- CREATE DATABASE ----------
[Link]("CREATE DATABASE IF NOT EXISTS railway")
[Link]("USE railway")
# ---------- CREATE TABLES ----------
[Link]("""
CREATE TABLE IF NOT EXISTS railway(
name VARCHAR(100),
phno VARCHAR(15) PRIMARY KEY,
age INT,
gender VARCHAR(20),
from_f VARCHAR(100),
to_t VARCHAR(100),
date_d VARCHAR(20)
)
""")
[Link]("""
CREATE TABLE IF NOT EXISTS user_accounts(
fname VARCHAR(100),
lname VARCHAR(100),
username VARCHAR(100),
password VARCHAR(100) PRIMARY KEY,
phno VARCHAR(15),
gender VARCHAR(20),
dob VARCHAR(20),
age VARCHAR(4)
)
""")
# ----------------------------------------------------------
# LOGIN CHECK
# ----------------------------------------------------------
def checking():
print("\n----- LOGIN -----")
u = input("USERNAME: ")
p = input("PASSWORD: ")
[Link]("SELECT username FROM user_accounts WHERE password=%s", (p,))
data = [Link]()
if data and data[0] == u:
return True
else:
print("Login failed")
return False
# ----------------------------------------------------------
# SIGNUP
# ----------------------------------------------------------
def checking_1():
print("\n----- SIGN UP -----")
fname = input("FIRST NAME: ")
lname = input("LAST NAME: ")
uname = input("USERNAME: ")
pwd = input("PASSWORD (unique): ")
ph = input("PHONE NUMBER: ")
gender = input("GENDER (M/F/N): ")
dob = input("DOB (DD/MM/YYYY): ")
age = input("AGE: ")
try:
[Link]("INSERT INTO user_accounts VALUES (%s,%s,%s,%s,%s,%s,%s,%s)",
(fname, lname, uname, pwd, ph, gender, dob, age))
print("ACCOUNT CREATED SUCCESSFULLY!")
return True
except:
return False
# ----------------------------------------------------------
# DELETE ACCOUNT
# ----------------------------------------------------------
def checking_2():
print("\n----- DELETE ACCOUNT -----")
u = input("USERNAME: ")
p = input("PASSWORD: ")
[Link]("SELECT username FROM user_accounts WHERE password=%s", (p,))
data = [Link]()
if data and data[0] == u:
[Link]("DELETE FROM user_accounts WHERE password=%s", (p,))
return True
else:
return False
# ----------------------------------------------------------
# BOOK TICKET
# ----------------------------------------------------------
def ticket_booking():
print("\n----- BOOK TICKET -----")
nm = input("NAME: ")
ph = input("PHONE NUMBER: ")
age = int(input("AGE: "))
gender = input("GENDER M/F/N: ").upper()
gmap = {"M": "MALE", "F": "FEMALE", "N": "NOT SPECIFIED"}
gender = [Link](gender, "NOT SPECIFIED")
frm = input("FROM: ")
to = input("TO: ")
d = input("DATE (DD/MM/YYYY): ")
try:
[Link](
"INSERT INTO railway VALUES (%s,%s,%s,%s,%s,%s,%s)",
(nm, ph, age, gender, frm, to, d)
)
print("TICKET BOOKED SUCCESSFULLY!")
except:
print("ERROR: Phone number already exists!")
# ----------------------------------------------------------
# CHECK TICKET
# ----------------------------------------------------------
def ticket_checking():
print("\n----- TICKET STATUS -----")
ph = input("ENTER PHONE NUMBER: ")
[Link]("SELECT * FROM railway WHERE phno=%s", (ph,))
data = [Link]()
if data:
print("\n----- YOUR TICKET DETAILS -----")
print("NAME:", data[0])
print("PHONE:", data[1])
print("AGE:", data[2])
print("GENDER:", data[3])
print("FROM:", data[4])
print("TO:", data[5])
print("DATE:", data[6])
else:
print("NO TICKET FOUND!")
# ----------------------------------------------------------
# CANCEL TICKET
# ----------------------------------------------------------
def ticket_cancelling():
print("\n----- CANCEL TICKET -----")
ph = input("ENTER PHONE NUMBER: ")
[Link]("DELETE FROM railway WHERE phno=%s", (ph,))
if [Link] > 0:
print("TICKET CANCELLED!")
else:
print("NO TICKET FOUND!")
# ----------------------------------------------------------
# MAIN MENU (AFTER LOGIN)
# ----------------------------------------------------------
def main():
while True:
print("\n----- MAIN MENU -----")
print("1. TICKET BOOKING")
print("2. TICKET CHECKING")
print("3. TICKET CANCELLING")
print("4. LOG OUT")
ch = int(input("ENTER YOUR CHOICE: "))
if ch == 1:
ticket_booking()
elif ch == 2:
ticket_checking()
elif ch == 3:
ticket_cancelling()
elif ch == 4:
break
else:
print("INVALID CHOICE")
# ----------------------------------------------------------
# HOME MENU
# ----------------------------------------------------------
while True:
print("\n----- RAILWAY RESERVATION SYSTEM -----")
print("1. SIGN IN")
print("2. SIGN UP")
print("3. DELETE ACCOUNT")
print("4. EXIT")
ch = int(input("ENTER YOUR CHOICE: "))
if ch == 1:
if checking():
main()
elif ch == 2:
checking_1()
elif ch == 3:
if checking_2():
print("ACCOUNT DELETED!")
else:
print("WRONG CREDENTIALS")
elif ch == 4:
print("THANK YOU!")
break
else:
print("INVALID CHOICE")