CREATE TABLE 'mydata','library' (

'Member' VARCHAR(40) NOT NULL,

'PRN_NO` VARCHAR(45) NOT NULL,

`ID` VARCHAR(45) NOT NULL,

'FirstName' VARCHAR(45) NULL,

'LastName' VARCHAR(45) NULL,

'Address1' VARCHAR(45) NULL,

'Address2' VARCHAR(45) NULL,

'PostID' VARCHAR(45) NULL,

'Mobile' VARCHAR(45) NULL,

'Bookid VARCHAR(45) NULL,

'Auther' VARCHAR(45) NULL,

'Databorrowed' VARCHAR(45) NULL,

'datedue' VARCHAR(45) NULL,

'dayasofbook' VARCHAR(45) NULL,

'latereturnfine' VARCHAR(45) NULL,

'dateoverdue' VARCHAR(45) NULL,);

One thought on “

  1. mohammad sarfraj's avatar mohammad sarfraj 23rd Jan 2024 / 7:36 am

    from tkinter import *from tkinter import ttkimport mysql.connectorimport datetime from tkinter import messegebox

    class LibraryManagementSystem:def init(self, root):self.root = rootself.root.title(“Library Management System”)self.root.geometry(“1400×700+0+0”)self.member_var=StringVar()self.prn_var=StringVar()self.id_var=StringVar()self.firstname_var=StringVar()self.lastname_var=StringVar()self.address1_var=StringVar()self.address2_var=StringVar()self.postcode_var=StringVar()self.mobile_var=StringVar()self.bookid_var=StringVar()self.booktitle_var=StringVar()self.auther_var=StringVar()self.dateborrowed_var=StringVar()self.datedue_var=StringVar()self.daysonbook=StringVar()self.lateratefine_var=StringVar()self.dateoverdue=StringVar()self.finallprice=StringVar() lbltitle=Label(self.root,text="LIBRARY MANGEMENT SYSTEM",bg="powder blue",fg="green",bd=20,relief="ridge",font=("Times New Roman",50,"bold"),padx=2,pady=6) lbltitle.pack(side=TOP,fill=X) frame=Frame(self.root,bd=12,relief="ridge",padx=20,bg="powder blue") frame.place(x=0,y=130,width=1365,height=370) #DATA FRAME LEFT DataFrameLeft=LabelFrame(frame,text="LIBRARY MEMBERSHIP INFORMATION",bg="powder blue",fg="green",bd=12,relief="ridge",font=("Times New Roman",12,"bold")) DataFrameLeft.place(x=0,y=5,width=720,height=330) lblmember=Label(DataFrameLeft,bg="powder blue",text="MEMBER TYPE",font=("Times New Roman",15,"bold"),padx=2,pady=6) lblmember.grid(row=0,column=0,sticky=W) comMember=ttk.Combobox(DataFrameLeft,font=("Times New Roman",15,"bold"),width=19,textvariable=self.member_var,state="readonly") comMember["value"]=("ADMIN STAFF","STUDENT","LECTURER") comMember.current(0) comMember.grid(row=0,column=1) lblPRN_no=Label(DataFrameLeft,font=("arial",12,"bold"),text="PRN NO.",padx=2,pady=2,bg="powder blue") lblPRN_no.grid(row=1,column=0,sticky=W) textPRN_no=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.prn_var,width=23) textPRN_no.grid(row=1,column=1) lblTitle=Label(DataFrameLeft,font=("arial",12,"bold"),text="ID NO.",padx=2,pady=2,bg="powder blue") lblTitle.grid(row=2,column=0,sticky=W) textTitle=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.id_var,width=23) textTitle.grid(row=2,column=1) lblFirstName=Label(DataFrameLeft,font=("arial",12,"bold"),text="First Name",padx=2,pady=2,bg="powder blue") lblFirstName.grid(row=3,column=0,sticky=W) textFirstName=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.firstname_var,width=23) textFirstName.grid(row=3,column=1) lblLastName=Label(DataFrameLeft,font=("arial",12,"bold"),text="Last Name",padx=2,pady=2,bg="powder blue") lblLastName.grid(row=4,column=0,sticky=W) textLastName=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.lastname_var,width=23) textLastName.grid(row=4,column=1) lblAddress1=Label(DataFrameLeft,font=("arial",12,"bold"),text="Address 1",padx=2,pady=2,bg="powder blue") lblAddress1.grid(row=5,column=0,sticky=W) textAddress1=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.address1_var,width=23) textAddress1.grid(row=5,column=1) lblAddress2=Label(DataFrameLeft,font=("arial",12,"bold"),text="Address 2",padx=2,pady=2,bg="powder blue") lblAddress2.grid(row=6,column=0,sticky=W) textAddress2=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.address2_var,width=23) textAddress2.grid(row=6,column=1) lblPostcode=Label(DataFrameLeft,font=("arial",12,"bold"),text=" Post Code",padx=2,pady=2,bg="powder blue") lblPostcode.grid(row=7,column=0,sticky=W) textPostcode=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.postcode_var,width=23) textPostcode.grid(row=7,column=1) lblMobile=Label(DataFrameLeft,font=("arial",12,"bold"),text=" Mobile No.",padx=2,pady=2,bg="powder blue") lblMobile.grid(row=8,column=0,sticky=W) textMobile=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.mobile_var,width=23) textMobile.grid(row=8,column=1) lblBookid=Label(DataFrameLeft,font=("arial",12,"bold"),text="Book Id.",padx=2,pady=2,bg="powder blue") lblBookid.grid(row=0,column=2,sticky=W) textBookid=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.bookid_var,width=20) textBookid.grid(row=0,column=3) lblBooktitle=Label(DataFrameLeft,font=("arial",12,"bold"),text="Book Title",padx=2,pady=2,bg="powder blue") lblBooktitle.grid(row=1,column=2,sticky=W) textBooktitle=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.booktitle_var,width=20) textBooktitle.grid(row=1,column=3) lblAuther=Label(DataFrameLeft,font=("arial",12,"bold"),text="Auther Name",padx=2,pady=2,bg="powder blue") lblAuther.grid(row=2,column=2,sticky=W) textAuther=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.auther_var,width=20) textAuther.grid(row=2,column=3) lblDateBorrowed=Label(DataFrameLeft,font=("arial",12,"bold"),text="Date Borrowed ",padx=2,pady=2,bg="powder blue") lblDateBorrowed.grid(row=3,column=2,sticky=W) textDateBorrowed=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.dateborrowed_var,width=20) textDateBorrowed.grid(row=3,column=3) lblDateDue=Label(DataFrameLeft,font=("arial",12,"bold"),text="Date Due: ",padx=2,pady=2,bg="powder blue") lblDateDue.grid(row=4,column=2,sticky=W) textDateDue=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.datedue_var,width=20) textDateDue.grid(row=4,column=3) lblDaysonBook=Label(DataFrameLeft,font=("arial",12,"bold"),text="Days on Book",padx=2,pady=2,bg="powder blue") lblDaysonBook.grid(row=5,column=2,sticky=W) textDaysonBook=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.daysonbook,width=20) textDaysonBook.grid(row=5,column=3) lbllateretuenfine=Label(DataFrameLeft,font=("arial",12,"bold"),text="Late Return Fine",padx=2,pady=2,bg="powder blue") lbllateretuenfine.grid(row=6,column=2,sticky=W) textlateretuenfine=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.lateratefine_var,width=20) textlateretuenfine.grid(row=6,column=3) lblDateoverDate=Label(DataFrameLeft,font=("arial",12,"bold"),text="Date over Date",padx=2,pady=2,bg="powder blue") lblDateoverDate.grid(row=7,column=2,sticky=W) textDateoverDate=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.dateoverdue,width=20) textDateoverDate.grid(row=7,column=3) lblActualPrice=Label(DataFrameLeft,font=("arial",12,"bold"),text="Actual Price",padx=2,pady=2,bg="powder blue") lblActualPrice.grid(row=8,column=2,sticky=W) textActualPrice=Entry(DataFrameLeft,font=("arial",13,"bold"),textvariable=self.finallprice,width=20) textActualPrice.grid(row=8,column=3) #DATA FRAME RIGHT DataFrameRight=LabelFrame(frame,text="BOOK DETAILS",bg="powder blue",fg="green",bd=12,relief="ridge",font=("Times New Roman",12,"bold")) DataFrameRight.place(x=800,y=4,width=500,height=330) self.txtBox=Text(DataFrameRight,font=("arial",12,"bold"),width=27,height=14,padx=6) self.txtBox.grid(row=0,column=2) listScrollBar=Scrollbar(DataFrameRight) listScrollBar.grid(row=0,column=1,sticky="ns") listBooks=["PYTHON BASICS","PYTHON IN DEEP","MODULES IN PYTHON","MACHINE PYTHON","FLUENT PYTHON","ELITE JUNGLE PYTHON"] def SelectBook(event=""): value=str(listBox.get(listBox.curselection)) x=value if (x=="PYTHON BASICS"): self.bookid_var.set("PB12") self.booktitle_var.set("Python Manual") self.auther_var.set("Paul verry") d1=datetime.datetime.today() d2=datetime.timedelta(days=15) d3=d1+d2 self.dateborrowed_var.set() self.datedue_var.set(d3) self.daysonbook.set(15) self.lateratefine_var.set("Rs 50") self.dateoverdue.set("NO") self.finalprice.set("Rs 100") elif(x=="ELITE JUNGLE PYTHON"): self.bookid_var.set("ELP012") self.booktitle_var.set("Python JUNGLE") self.auther_var.set("Paul Junior") d1=datetime.datetime.today() d2=datetime.timedelta(days=15) d3=d1+d2 self.dateborrowed_var.set() self.datedue_var.set(d3) self.daysonbook.set(15) self.lateratefine_var.set("Rs 50") self.dateoverdue.set("NO") self.finalprice.set("Rs 180") listBox=Listbox(DataFrameRight,font=("arial",11,"bold"),width=20,height=14) listBox.bind("<<ListboxSelect>>",SelectBook) listBox.grid(row=0,column=0,padx=4) listScrollBar.config(command=listBox.yview) for item in listBooks: listBox.insert(END,item) #BUTTONS Framebutton=Frame(self.root,bd=12,relief="ridge",padx=20,bg="powder blue") Framebutton.place(x=0,y=500,width=1365,height=60) btnAddData=Button (Framebutton, command=self.adda_data,text="Add Data", font=("arial", 12, "bold"), width=70, bg="blue", fg="white") btnAddData.grid(row=0,column=0) btnAddData=Button (Framebutton, text="Exit", font=("arial", 12, "bold"), width=50,bg="blue", fg="white") btnAddData.grid(row=0,column=1) #INFORMATION FRAME FrameDetails=Frame(self.root,bd=12,relief="ridge",padx=20,bg="powder blue") FrameDetails.place(x=0,y=560,width=1365,height=130) Table_frame=Frame(FrameDetails,bd=6,relief="ridge",bg="powder blue") Table_frame.place(x=0,y=2,width=1310,height=100) xscroll=ttk.Scrollbar(Table_frame,orient=HORIZONTAL) yscroll=ttk.Scrollbar(Table_frame,orient=VERTICAL) self.library_table=ttk.Treeview(Table_frame, column=("memebertype","prnno", "title","firtname", "lastname", "adress1", "adress2","postid","mobile", "bookid", "booktitle","auther","dateborrowed", "datedue", "days","latereturnfine", "dateoverdue", "finalprice"),xscrollcommand=xscroll.set, yscrollcommand=yscroll.set) xscroll.pack(side=BOTTOM, fill=X) yscroll.pack(side=RIGHT, fill=Y) xscroll.config(command=self.library_table.xview) yscroll.config(command=self.library_table.yview) self.library_table.heading("memebertype", text="Member Type") self.library_table.heading("prnno", text="PRN No." ) self.library_table.heading("title", text="Title") self.library_table.heading("firtname", text="First Name") self.library_table.heading("lastname", text="Last Name") self.library_table.heading("adress1", text="Address1") self.library_table.heading("adress2", text="Address2") self.library_table.heading("postid", text="Post ID") self.library_table.heading("mobile", text="Mobile Number") self.library_table.heading("bookid", text="Book ID") self.library_table.heading("booktitle", text="Book Title") self.library_table.heading("auther", text="Auther") self.library_table.heading("dateborrowed", text="Date Of Borrowed") self.library_table.heading("datedue", text="Date Due") self.library_table.heading("days", text="DaysOnBook") self.library_table.heading("latereturnfine", text="LateReturnFine") self.library_table.heading("dateoverdue", text="DateOverDue") self.library_table.heading("finalprice", text="Final Price") self.library_table["show"]="headings" self.library_table.pack(fill=BOTH, expand=1) self.library_table.column("memebertype", width=10) self.library_table.column("prnno", width=10) self.library_table.column("title", width=10) self.library_table.column("firtname", width=10) self.library_table.column("lastname", width=10) self.library_table.column("adress1", width=10) self.library_table.column("adress2", width=10) self.library_table.column("postid", width=10) self.library_table.column("mobile", width=10) self.library_table.column("bookid", width=10) self.library_table.column("booktitle", width=10) self.library_table.column("auther", width=10) self.library_table.column("dateborrowed", width=10) self.library_table.column("datedue", width=10) self.library_table.column("days", width=10) self.library_table.column("latereturnfine", width=10) self.library_table.column("dateoverdue", width=10) self.library_table.column("finalprice", width=10) self.member_var=StringVar() self.library_table.bind("<<>ButtonRelease-1>",self.get_cursor) def adda_data(self): conn=mysql.connector.connect(host="localhost", username="root", password="LFCOMP@105", database="librarymanagementsystem") my_cursor=conn.cursor() my_cursor.execute("insert into library values(%s, %s, %s, %s, %s, %s %s, %s, %s, %s, %s,%s,, %s, %s %s, %s, %s, %s,)",(self.member_var.get(),self.prn_var.get(),self.id_var.get(),self.firstname_var.get(),self.lastname_var.get(),self.address1_var.get(),self.address2_var.get(),self.postcode_var.get(),self.mobile_var.get(),self.bookid_var.get(),self.booktitle_var.get(),self.auther_var.get(),self.dateborrowed_var.get(),self.datedue_var.get(),self.daysonbook.get(),self.lateratefine_var.get(),self.dateoverdue.get(),self.finallprice.get())) conn.commit() conn.close() self.fatch_data() messegebox.showinfo("SUCCESS","MEMBER HAS BEEN INSETED SUCCESFULLY") def fatch_data(self): conn=mysql.connector.connect(host="localhost",username="root",password="LFCOMP@105",database="librarymanagementsystem") my_cursor=conn.cursor() my_cursor.execute("select * from library") rows=my_cursor.fetchall() if len(rows)!=0: self.library_table.delete(*self.library_table.get_children) for i in rows: self.library_table.insert("",END,values=i) conn.commit() conn.close() def get_cursor(self,event=""): cursor_row=self.library_table.focus() content=self.library_table_itrm(cursor_row) row=content["values"] self.member_var.set(row[0]),self.prn_var.set(row[1]),self.id_var.set(row[2]),self.firstname_var.set(row[3]),self.lastname_var.set(row[4]),self.address1_var.set(row[5]),self.address2_var.set(row[6]),self.postcode_var.set(row[7]),self.mobile_var.set(row[8]),self.bookid_var.set(row[9]),self.booktitle_var.set(row[10]),self.auther_var.set(row[11]),self.dateborrowed_var.set(row[12]),self.datedue_var.set(row[13]),self.daysonbook.set(row[14]),self.lateratefine_var.set(row[15]),self.dateoverdue.set(row[16]),self.finallprice.set(row[17])

    if name == “main“:root = Tk()obj = LibraryManagementSystem(root)root.mainloop()

    Like

Leave a reply to mohammad sarfraj Cancel reply