-
المساهمات
6 -
تاريخ الانضمام
-
تاريخ آخر زيارة
آخر الزوار
لوحة آخر الزوار معطلة ولن تظهر للأعضاء
إنجازات سعيد ابوزيد
عضو مبتدئ (1/3)
4
السمعة بالموقع
-
هذا هو الكود كامل: from tkinter import * from tkinter import ttk ,Tk import pymysql import tkinter as tk class Student: #========انشاء نافذة البرنامج======== def __init__(self , root): self.root = root self.root.geometry('1350x690+1+1') self.root.resizable(False,False) self.root.title('برنامج دليفري شوب') self.root.configure(background="silver") title = Label(self.root,text=' إدارة شئون العاملين ',bg='silver',font=('monospace',18,'bold','underline'),background='blue',fg='white') title.pack(fill=X) #===============المتغيرات=============== self.id_var = StringVar() self.name_var = StringVar() self.nid_var = StringVar() self.phone_var = StringVar() self.address_var = StringVar() self.jobdate_var = StringVar() self.job_var = StringVar() self.hub_var = StringVar() self.salary_var = StringVar() self.delete_var = StringVar() self.seVar = StringVar() self.seBy=StringVar() search_type_var = StringVar #===========ادوات التحكم بالبرنامج======== Manage_Frame = Frame(self.root,bg='white') Manage_Frame.place(x=1135,y=40,width=210,height=550) lbl_ID = Label(Manage_Frame,text='الكود',bg='white',font=('tajawal',15,'bold')) lbl_ID.pack() ID_Entry = Entry(Manage_Frame,textvariable=self.id_var,bd=2,font=('tajawal',13),fg='blue',justify='center') ID_Entry.pack() lbl_Name = Label(Manage_Frame,text='الاسم',bg='white',font=('tajawal',15,'bold')) lbl_Name.pack() Name_Entry = Entry(Manage_Frame,textvariable=self.name_var,bd=2,font=('tajawal',13),fg='blue',justify='center') Name_Entry.pack() lbl_NID = Label(Manage_Frame,text='الرقم القومي',bg='white',font=('tajawal',15,'bold')) lbl_NID.pack() NID_Entry = Entry(Manage_Frame,textvariable=self.nid_var,bd=2,font=('tajawal',13),fg='blue',justify='center') NID_Entry.pack() lbl_Phone = Label(Manage_Frame,text='رقم التليفون',bg='white',font=('tajawal',15,'bold')) lbl_Phone.pack() Phone_Entry = Entry(Manage_Frame,textvariable=self.phone_var,bd=2,font=('tajawal',13),fg='blue',justify='center') Phone_Entry.pack() lbl_Add = Label(Manage_Frame,text='العنوان',bg='white',font=('tajawal',15,'bold')) lbl_Add.pack() Add_Entry = Entry(Manage_Frame,textvariable=self.address_var,bd=2,font=('tajawal',13),fg='blue',justify='center') Add_Entry.pack() lbl_Date = Label(Manage_Frame,text='تاريخ التعيين',bg='white',font=('tajawal',15,'bold')) lbl_Date.pack() Date_Entry = Entry(Manage_Frame,textvariable=self.jobdate_var,bd=2,font=('tajawal',13),fg='blue',justify='center') Date_Entry.pack() lbl_Job = Label(Manage_Frame,text='الوظيفة',bg='white',font=('tajawal',15,'bold')) lbl_Job.pack() Combo_Job = ttk.Combobox (Manage_Frame,textvariable=self.job_var) Combo_Job['value']=('مدير','مشرف','محاسب','مندوب','اوفيس بوي') Combo_Job.pack() lbl_Hub = Label(Manage_Frame,text='الفرع',bg='white',font=('tajawal',15,'bold')) lbl_Hub.pack() Hub_Entry = Entry(Manage_Frame,textvariable=self.hub_var,bd=2,font=('tajawal',13),fg='blue',justify='center') Hub_Entry.pack() lbl_Salary = Label(Manage_Frame,text='المرتب',bg='white',font=('tajawal',15,'bold')) lbl_Salary.pack() Salary_Entry = Entry(Manage_Frame,textvariable=self.salary_var,bd=2,font=('tajawal',13),fg='blue',justify='center') Salary_Entry.pack() lbl_Delete = Label(Manage_Frame,fg='red',bg='white',text='حذف بالأسم',font=('tajawal',15,'bold')) lbl_Delete.pack() Delete_Entry = Entry(Manage_Frame,textvariable=self.delete_var,bd=2,font=('tajawal',13),fg='blue',justify='center') Delete_Entry.pack() #=========buttons========= btn_Frame = Frame(self.root,bg='white') btn_Frame.place(x=1137,y=595,width=210,height=200) add_btn = Button(btn_Frame,text='اضافة',bg='#0B41F8',fg='white',font=('tajawal',11,'bold'),command=self.add_student) add_btn.place(x=105,y=3,width=100,height=25) del_btn = Button(btn_Frame,text='حذف',bg='#0B41F8',fg='white',font=('tajawal',11,'bold'),command=self.delete) del_btn.place(x=5,y=30,width=90,height=25) update_btn = Button(btn_Frame,text='تعديل',bg='#0B41F8',fg='white',font=('tajawal',11,'bold'),command=self.update) update_btn.place(x=5,y=3,width=90,height=25) clear_btn = Button(btn_Frame,text='افراغ الحقول',bg='#0B41F8',fg='white',font=('tajawal',11,'bold'),command=self.clear) clear_btn.place(x=105,y=30,width=100,height=25) exit_btn = Button(btn_Frame,text='خروج',bg='#0B41F8',fg='white',font=('tajawal',11,'bold'),command=quit) exit_btn.place(x=10,y=60,width=190,height=30) #=================search manage ========================== search_frame = Frame(self.root,bg='white') search_frame.place(x=1,y=40,width=1133,height=50) lbl_search = Label(search_frame,text='بحث',bg='white',font=('arial',14,'bold')) lbl_search.place(x=1090,y=12) #search_type_var = tk.StringVar(value="الكود") #search_type_options = ['التليفون', 'الاسم', 'الوظيفة','الفرع'] #search_type_dropdown = tk.OptionMenu(search_frame, search_type_var, *search_type_options) #search_type_dropdown.place(x=1005,y=13) combo_search = ttk.Combobox(search_frame,justify='center') combo_search['value']=('الاسم','التليفون','الوظيفة','الفرع') combo_search.place(x=940,y=12) search_Entry = Entry(search_frame,textvariable=self.seVar,justify='center',bd=2,font=('tajawal',13),fg='blue') search_Entry.place(x=750,y=12) se_btn = Button(search_frame,text='بحث',bg='#0B41F8',fg='white',font=('tajawal',11,'bold'),command=self.search) se_btn.place(x=670,y=12,width=70,height=25) pr_btn = Button(search_frame,text='طباعة',bg='#0B41F8',fg='white',font=('tajawal',11,'bold')) pr_btn.place(x=300,y=12,width=90,height=30) intag_btn = Button(search_frame,text='الانتاجيات',bg='#0B41F8',fg='white',font=('tajawal',11,'bold')) intag_btn.place(x=200,y=12,width=90,height=30) acount_btn = Button(search_frame,text='الحسابات',bg='#0B41F8',fg='white',font=('tajawal',11,'bold')) acount_btn.place(x=100,y=12,width=90,height=30) exit1_btn = Button(search_frame,text='خروج',bg='#0B41F8',fg='white',font=('tajawal',11,'bold'),command=quit) exit1_btn.place(x=5,y=12,width=90,height=30) #==============dietals======= Dietals_Frame = Frame(self.root) Dietals_Frame.place(x=3,y=92,width=1128,height=593) #=========scroll======== scroll_x = Scrollbar(Dietals_Frame,orient=HORIZONTAL) scroll_y = Scrollbar(Dietals_Frame,orient=VERTICAL) #==========treeview========== self.student_table = ttk.Treeview(Dietals_Frame, columns=('salary','hub','job','jobdate','address','phone','NID','name','id'), xscrollcommand=scroll_x.set, yscrollcommand=scroll_y.set) self.student_table.place(x=18,y=1,width=1120,height=570) scroll_x.pack(side=BOTTOM,fill=X) scroll_y.pack(side=LEFT,fill=Y) self.student_table['show']='headings' self.student_table.heading('salary',text='المرتب') self.student_table.heading('hub',text='الفرع') self.student_table.heading('job',text='الوظيفة') self.student_table.heading('jobdate',text='تاريخ التعيين') self.student_table.heading('address',text='العنوان') self.student_table.heading('phone',text='التليفون') self.student_table.heading('NID',text='الرقم القومي') self.student_table.heading('name',text='الاسم') self.student_table.heading('id',text='الكود') self.student_table.column('salary',width=20) self.student_table.column('hub',width=50) self.student_table.column('job',width=50) self.student_table.column('jobdate',width=60) self.student_table.column('address',width=320) self.student_table.column('phone',width=60) self.student_table.column('NID',width=90) self.student_table.column('name',width=170) self.student_table.column('id',width=30) self.student_table.bind('<ButtonRelease-1>',self.get_cursor) #============con +add============ self.fetch_all() def add_student(self): con = pymysql.connect( host='localhost', user='root', password='', database='abozaid' ) cur = con.cursor() cur.execute("insert into employee value(%s,%s,%s,%s,%s,%s,%s,%s,%s)",( self.salary_var.get(), self.hub_var.get(), self.job_var.get(), self.jobdate_var.get(), self.address_var.get(), self.phone_var.get(), self.nid_var.get(), self.name_var.get(), self.id_var.get() )) con.commit() self.fetch_all() self.clear() con.close() def fetch_all(self): con = pymysql.connect(host='localhost',user='root',passwd='',database='abozaid') cur = con.cursor() cur.execute('select * from employee') rows = cur.fetchall() if len(rows) !=0: self.student_table.delete(*self.student_table.get_children()) for row in rows: self.student_table.insert('',END,values=row) con.commit() con.close() def delete(self): con = pymysql.connect(host='localhost',user='root',passwd='',database='abozaid') cur = con.cursor() cur.execute('delete from employee where name=%s',self.delete_var.get()) con.commit() self.fetch_all() con.close() def clear(self): self.id_var.set('') self.name_var.set('') self.nid_var.set('') self.phone_var.set('') self.address_var.set('') self.jobdate_var.set('') self.job_var.set('') self.hub_var.set('') self.salary_var.set('') def get_cursor(self,ev): cursor_row = self.student_table.focus() contens = self.student_table.item(cursor_row) row = contens['values'] self.id_var.set(row[8]) self.name_var.set(row[7]) self.nid_var.set(row[6]) self.phone_var.set(row[5]) self.address_var.set(row[4]) self.jobdate_var.set(row[3]) self.job_var.set(row[2]) self.hub_var.set(row[1]) self.salary_var.set(row[0]) def update(self): con = pymysql.connect( host='localhost', user='root', password='', database='abozaid') cur = con.cursor() cur.execute("update employee set salary=%s,hub=%s,job=%s,jobdate=%s,address=%s,phone=%s,nid=%s,name=%s where id=%s",( self.salary_var.get(), self.hub_var.get(), self.job_var.get(), self.jobdate_var.get(), self.address_var.get(), self.phone_var.get(), self.nid_var.get(), self.name_var.get(), self.id_var.get() )) con.commit() self.fetch_all() self.clear() con.close() def search(self): con = pymysql.connect(host='localhost',user='root',passwd='',database='abozaid') cur = con.cursor() cur.execute("SELECT * FROM employee WHERE " + (self.seBy.get())+ "LIKE'%" + str(self.seVar.get()) + "%'") rows = cur.fetchall() if len(rows) !=0: self.student_table.delete(*self.student_table.get_children()) for row in rows: self.student_table.insert("",END,values=row) con.commit() con.close() root = Tk() ob = Student(root) root.mainloop()
-
SELECT * FROM employee WHERE like '%%' Exception in Tkinter callback Traceback (most recent call last): File "C:\Users\hp\AppData\Local\Programs\Python\Python311\Lib\tkinter\__init__.py", line 1948, in __call__ return self.func(*args)
- 13 اجابة
-
- 1
-
كيف هذا ؟
- 13 اجابة
-
- 1
-
سعيد ابوزيد بدأ بمتابعة خطأ في استخدام دالة str() في كود Python
-
لم الاحظ اي اختلاف بين الكودين تم كتابة الكود ويظهر نفس الخطأ
- 13 اجابة
-
- 1
-
انا اقوم بالبحث من خلال كومبو بوكس لاختار نوع البحث ثم اقوم بكتابة المراد البحث عنه في text واقوم بالضغط على زرار البحث فقمت بعمل ما نبهتني اليه حضرتك ولكن لم تحل المشكلة ويعطي هذه الرسالة pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'like'% مندوب%'' at line 1")
-
def search(self): con = pymysql.connect(host='localhost',user='root',passwd='',database='abozaid') cur = con.cursor() cur.execute("SELECT * FROM employee WHERE " + str(self.se_by.get())+" like'% "+str(self.se_var.get())+"%'") rows = cur.fetchall() if len(rows) !=0: self.student_table.delete(*self.student_table.get_children()) for row in rows: self.student_table.insert("",END,values=row) con.commit() con.close()
- 13 اجابة
-
- 1