اذهب إلى المحتوى

Hussein Ouda

الأعضاء
  • المساهمات

    44
  • تاريخ الانضمام

  • تاريخ آخر زيارة

1 متابع

آخر الزوار

لوحة آخر الزوار معطلة ولن تظهر للأعضاء

إنجازات Hussein Ouda

عضو مساهم

عضو مساهم (2/3)

20

السمعة بالموقع

2

إجابات الأسئلة

  1. أقوم بتطوير قالب PHP wordpress ووصلت لصفحة category.php و archive.php وعند طلب الصفحة يظهر أول مقال فقط وليس كل مقالات الموقع بناء على (category / author / tag) أريد أن يظهر تكرر المقالات بشكل بلوك begnation رغم أني كتبت لوب في الكود : <?php // The Loop if (have_posts()) : while (have_posts()) : the_post(); //post ?> <main id="main"> <!-- ======= Title Section ======= --> <section id="" class=""> <div class=""> <div class="content"> <h3> <!-- طباعة واستدعاء الفئة (category) الحالية --> <?php single_cat_title() ?> </h3> </div> </div> </section> <!-- End Why Us Section --> <!-- ======= Content Section ======= --> <section id="" class=""> <div class="container"> <?php the_category(', ') ?> <h3><?php the_title() ?></h3> <p><?php /* دالة لاستدعاء تاريخ البوست */ echo get_the_date() ?> by: <strong><?php /* دالة لاستدعاء مؤلف البوست */ the_author_link() ?></strong></p> <p> <?php // دالة لاستدعاء وصف البوست the_excerpt() ?> </p> <p> <a href="<?php /* دالة ترجع رابط البوست */ the_permalink() ?>">Continue reading</a> </p> </div> </section> <!-- End Skills Section --> </main> <!-- End #main --> <?php // End Loop endwhile; endif; ?> أرجو المساعدة
  2. تم حل الإشكالية تبين عند دخولي إلى كود مكتبة pytube في github وجدت جميع التعليقات تؤكد أن المشكلة من نفس المكتبة ولكن تم تحديث المكتبة والان قمت بتحديث المكتبة وفعلاً اشتغل البرنامج بدون مشاكل أكتب pip install --upgrade pytube ستعمل بدون مشاكل بإذن الله
  3. قمت ببرمجة برنامج بايثون لتحميل الفيديوهات من اليوتيوب وبعد وضع الرابط وبدء التحميل يخرج لي الخطأ التالي : Exception in Tkinter callback Traceback (most recent call last): File "C:\lib\tkinter\__init__.py", line 1892, in __call__ return self.func(*args) File "d:\Youtube-Downloader.py", line 36, in DownloadVideo select = yt.streams.filter(progressive=True).first() File "C:\lib\site-packages\pytube\__main__.py", line 292, in streams return StreamQuery(self.fmt_streams) File "C:\lib\site-packages\pytube\__main__.py", line 177, in fmt_streams extract.apply_signature(stream_manifest, self.vid_info, self.js) File "C:\lib\site-packages\pytube\extract.py", line 409, in apply_signature cipher = Cipher(js=js) File "C:\lib\site-packages\pytube\cipher.py", line 43, in __init__ self.throttling_plan = get_throttling_plan(js) File "C:\lib\site-packages\pytube\cipher.py", line 387, in get_throttling_plan raw_code = get_throttling_function_code(js) File "C:\lib\site-packages\pytube\cipher.py", line 301, in get_throttling_function_code code_lines_list = find_object_from_startpoint(js, match.span()[1]).split('\n') AttributeError: 'NoneType' object has no attribute 'span' أرفق لكم الكود التالي : # Youtube Downloader from cgitb import text from logging import root from random import choices from secrets import choice from tkinter import * from tkinter import ttk from tkinter import messagebox from tkinter import filedialog from typing_extensions import Self from numpy import save from pytube import YouTube from soupsieve import select #pip install pytube3 Folder_Name = "" #file location def openLocation(): global Folder_Name Folder_Name = filedialog.askdirectory() if(len(Folder_Name) > 1): locationError.config(text=Folder_Name, fg="green") else: locationError.config(text="اختر المجلد", fg="red") #donwload video def DownloadVideo(): choice = ytdchoices.get() url = ytdEntry.get() if(len(url)>1): ytdError.config(text="") yt = YouTube(url) if(choice == choices[0]): select = yt.streams.filter(progressive=True).first() elif(choice == choices[1]): select = yt.streams.filter(progressive=True, file_extension='mp4').last() elif(choice == choices[2]): select = yt.streams.filter(only_audio=True).first() else: ytdError.config(text="ألصق الرابط مجدداً", fg="red") #download function select.download(Folder_Name) ytdError.config(text="تم الانتهاء من التحميل!!") # -------- دالة من نحن -------- def about(): messagebox.showinfo("Techmakers - Hussein Ouda", "husseinaoda@mail.com : مرحبا بكم في برنامج تحميل الفيديوهات والصوتيات") root = Tk() root.title("Techmakers: v 1.0 Youtube Downloader") root.geometry("650x410+340+10") #set window root.resizable(False, False) root.columnconfigure(0, weight=1) #set all content in center. f1=Frame(root, width=580, height=100, bg='whitesmoke', bd=3, relief=GROOVE) f1.place(x=30, y=130) f2=Frame(root, width=580, height=55, bg='whitesmoke', bd=3, relief=GROOVE) f2.place(x=30, y=250) #Ytd Link Label t = Label(root, text="برنامج تحميل الفيديوهات والصوتيات", bg='#FF5F00', fg='#EEEEEE', font=("Tajawal", 15, 'bold')) t.pack(fill='x') ytdLabel = Label(root, text="ألصق رابط الفيديو",fg='#00092C', font=("Tajawal", 15, 'bold')) ytdLabel.pack() #Entry Box ytdEntryVar = StringVar() ytdEntry = Entry(root, width=52, justify='center', font=("Tajawal", 15), bg='#B20600', fg='#00092C', textvariable=ytdEntryVar) ytdEntry.pack() #Error Msg ytdError = Label(root, text="ملاحظات التحميل", fg="#B20600", font=("Tajawal", 10)) ytdError.pack() #Asking save file label saveLabel = Label(root, text="اختر مكان حفظ الفيديو", bg="whitesmoke", fg='#00092C', font=("Tajawal", 15, 'bold')) saveLabel.place(x=390, y=140) #btn of save file saveEntry = Button(root, width=20, font=("Tajawal", 10, 'bold'), bg="#00092C", fg="#EEEEEE", text="مسار الحفظ", command=openLocation, cursor='sizing') saveEntry.place(x=410, y=180) #Error Msg location locationError = Label(root, text="لم يتم اختيار مسار حفظ الفيديو", bg='whitesmoke', fg="#B20600", font=("Tajawal", 15)) locationError.place(x=100, y=190) #Download Quality ytdQuality = Label(root, text="", bg='whitesmoke', font=("Tajawal", 15, 'bold')) ytdQuality.place(x=430, y=255) #combobox choices = ["720p", "144p", "صوت فقط"] ytdchoices = ttk.Combobox(root, values=choices) ytdchoices.place(x=260, y=265) #download btn downloadbtn = Button(root, text="بدء التحميل", width=20, font=("Tajawal", 10, 'bold'), bg="#00092C", fg="#EEEEEE", command=DownloadVideo, cursor='clock') downloadbtn.place(x=40, y=255) #developer Label about_btn = Button(root, text='من نحن', width=20, font=("Tajawal", 10, 'bold'), bg='#FF5F00', fg='#EEEEEE', bitmap='info',command=about, cursor='heart') about_btn.place(x=350, y=350, height=30) #Close program exit_btn = Button(root, text='إغلاق البرنامج', width=20, font=("Tajawal", 10, 'bold'), bg='#FF5F00', fg='#EEEEEE', cursor='cross', command=root.quit) exit_btn.place(x=265, y=350, width=80, height=30) root.mainloop() أرجو المساعدة
  4. import requests import time #global variables api_key = '15******-ce*0-42*d-9c*6-17******49*0' bot_key = '51******56:A*H-o_hf******Gm******ON******M4*bg' chat_id = '10******03' limit = 59000 #لو قل المبلغ عن هذا الرقم ارسل رسالة على بوت التلغرام time_interval = 60 * 5 #الاتصال بالموقع لمعرفة السعر كل 5 دقائق # دالة لمخاطبة الموقع وجلب السعر def get_price(): url = 'https://sandbox-api.coinmarketcap.com/v1/cryptocurrency/listings/latest' parameters = { 'start':'1', 'limit':'2', 'convert':'USD' } headers = { 'Accepts': 'application/json', 'X-CMC_PRO_API_KEY': api_key, } response = requests.get(url, headers=headers, params=parameters).json() btc_price = response['data'][0]['quote']['USD']['price'] return btc_price # دالة ترسل رسالة لو قل المبلغ عن الرقم المحدد ارسل رسالة على بوت التلغرام def send_update(chat_id, msg): url = f'https://api.telegram.org/bot{bot_key}/sendMessage?chat_id={chat_id}&text={msg}' requests.get(url) # دالة لتشغيل الدوال السابقة def main(): while True: price = get_price() print(price) if price < limit: send_update(chat_id, f"سعر البتكوين:{price}") time.sleep(time_interval) main() code: import requests import time #global variables api_key = '15******-ce*0-42*d-9c*6-17******49*0' bot_key = '51******56:A*H-o_hf******Gm******ON******M4*bg' chat_id = '10******03' limit = 59000 #لو قل المبلغ عن هذا الرقم ارسل رسالة على بوت التلغرام time_interval = 60 * 5 #الاتصال بالموقع لمعرفة السعر كل 5 دقائق # دالة لمخاطبة الموقع وجلب السعر def get_price(): url = 'https://sandbox-api.coinmarketcap.com/v1/cryptocurrency/listings/latest' parameters = { 'start':'1', 'limit':'2', 'convert':'USD' } headers = { 'Accepts': 'application/json', 'X-CMC_PRO_API_KEY': api_key, } response = requests.get(url, headers=headers, params=parameters).json() btc_price = response['data'][0]['quote']['USD']['price'] return btc_price # دالة ترسل رسالة لو قل المبلغ عن الرقم المحدد ارسل رسالة على بوت التلغرام def send_update(chat_id, msg): url = f'https://api.telegram.org/bot{bot_key}/sendMessage?chat_id={chat_id}&text={msg}' requests.get(url) # دالة لتشغيل الدوال السابقة def main(): while True: price = get_price() print(price) if price < limit: send_update(chat_id, f"سعر البتكوين:{price}") time.sleep(time_interval) main()
  5. زملائي الأكارم عملت بوت على التلغرام بالغة بايثون لمعرفة سعر البتكوين .. عملت البوت واشتغل عندي ورفعته على سيرفر علشان يبقى شغال على طول وفعلاً , لكن المشكلة انو لما حد جديد يشترك في البوت يتم الاشتراك لكن ما تظهر عنده رسائل البوت!! ما المشكلة؟
  6. قمت بتعريف المتغير في أعلى البرنامج : # -------- variable = بيانات البحث في البرنامج -------- self.se_by = StringVar() self.se_var = StringVar() 👆
  7. قمت بكتابة دالة للبحث في البرنامج : def search(self): con = pymysql.connect(host='localhost', user = 'root', password = '', database = 'employ') cur = con.cursor() cur.execute("select * from employees 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, value=row) con.commit() con.close() ولا تعمل! حيث تعطي الخطأ التالي : pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIKE '%%'' at line 1") الرجاء المساعدة
  8. قمت بكتابة دالة بايثون لتعديل بيانات ومعلومات مدخله في قاعدة البيانات def update(self): con = pymysql.connect( host = 'localhost', user = 'root', password = '', database = 'employ') cur = con.cursor() cur.execute("update employees set family_members=%s, social_status=%s, gender=%s, date_birth=%s, id_number=%s, mail=%s, name=%s where id=%s",( self.family_members_var.get(), self.social_status_var.get(), self.gender_var.get(), self.date_birth_var.get(), self.id_number_var.get(), self.mail_var.get(), self.name_var.get(), self.id_var.get() )) con.commit() self.fetch_all() self.clear() con.close() وخرج لي الخطأ التالي : pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1")
  9. وجدت حل الإشكالية يقول الخطأ أنه يتوقع الحصول على iterable أي مؤشر على غرض معين، بينما يستقبل دالة، لذلك يجب استدعاء الدالة بوضع أقواس () لها self.student_table.delete(*self.student_table.get_children()) ^^ شكر لك يا طيب على مرورك المتفاعل
  10. كتبت كود برنامج على python tkinter خاص ببيانات الموظفين وتم الاتصال بقواعد البيانات وادخال المعلومات على الجدول بنجاح, from tkinter import * from tkinter import ttk import pymysql class Employee: # ----------- إنشاء نافذة البرنامج ----------- def __init__(self, root): self.root = root self.root.geometry('1300x650+22+22') # الأرقام الإضافية بعد الطول والعرض (22) هي توصيت الشاشة مسافة من اليسار ومن الأعلى self.root.title('برنامج إدارة الموظفين') self.root.configure(background="#316df4") self.root.resizable(False, False) title = Label(self.root, text='[بيانات الموظفين]', bg='#316df4', font=('monospace',18), fg='white' ) title.pack(fill='x') # ----------- variable ----------- # -------- variable = البيانات الشخصية -------- self.id_var = StringVar() self.name_var = StringVar() self.mail_var = StringVar() self.id_number_var = StringVar() self.date_birth_var = StringVar() self.gender_var = StringVar() self.social_status_var = StringVar() self.family_var = StringVar() # -------- variable = معلومات الاتصال -------- self.nationality_var = StringVar() self.id_photo_var = StringVar() self.country_var = StringVar() self.governorate_var = StringVar() self.city_var = StringVar() self.phone_var = StringVar() self.skype_var = StringVar() self.telegram_var = StringVar() # ----------- تقسيم لأختيارات علوية ----------- nb = ttk.Notebook(self.root) nb.place(x=900,y=34, width=400, height=460) f1 = Frame(nb, width='500', height='100', bg='#fff') nb.add(f1, text='بيانات شخصية') f2 = Frame(nb, width='500', height='100', bg='#fff') nb.add(f2, text='معلومات الاتصال') # ----------- أدوات التحكم في البيانات الشخصية 1 ----------- # Manage_Frame = Frame(self.root, bg='white') # Manage_Frame.place(x=10,y=190, width=200, height=460) lbl_ID = Label(f1, text='الرقم التسلسلي', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_ID.pack() ID_Entry = Entry(f1, textvariable=self.id_var, bd='2', bg='#05234f', fg='#fff', justify='center') ID_Entry.pack() lbl_name = Label(f1, text='اسم الموظف', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_name.pack() Name_Entry = Entry(f1, textvariable=self.name_var, bd='2', bg='#05234f', fg='#fff', justify='center') Name_Entry.pack() lbl_email = Label(f1, text='البريد الإلكتروني', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_email.pack() Email_Entry = Entry(f1, textvariable=self.mail_var, bd='2', bg='#05234f', fg='#fff', justify='center') Email_Entry.pack() lbl_ID_Number = Label(f1, text='رقم الهوية', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_ID_Number.pack() ID_Number_Entry = Entry(f1, textvariable=self.id_number_var, bd='2', bg='#05234f', fg='#fff', justify='center') ID_Number_Entry.pack() lbl_Date_Birth = Label(f1, text='تاريخ الميلاد', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Date_Birth.pack() Date_Birth_Entry = Entry(f1, textvariable=self.date_birth_var, bd='2', bg='#05234f', fg='#fff', justify='center') Date_Birth_Entry.pack() lbl_Gender = Label(f1, text='الجنس', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Gender.pack() combo_Gender = ttk.Combobox( f1, value=('ذكر', 'أنثى'), state='readonly', textvariable=self.gender_var ) combo_Gender.pack() lbl_Social_Status = Label(f1, text='الحالة الاجتماعية', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Social_Status.pack() combo_Social_Status = ttk.Combobox( f1, value=('أعزب', 'متزوج'), state='readonly', textvariable=self.social_status_var ) combo_Social_Status.pack() lbl_Family_Members = Label(f1, text='عدد أفراد الأسرة', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Family_Members.pack() Family_Members_Entry = Entry(f1, textvariable=self.family_var, bd='2', bg='#05234f', fg='#fff', justify='center') Family_Members_Entry.pack() # ----------- أدوات التحكم في معلومات الاتصال 2 ----------- # Manage_Frame = Frame(self.root, bg='white') # Manage_Frame.place(x=900, y=190, width=200, height=460) lbl_Nationality = Label(f2, text='الجنسية', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Nationality.pack() Nationality_Entry = Entry(f2, textvariable=self.nationality_var, bd='2', bg='#05234f', fg='#fff', justify='center') Nationality_Entry.pack() lbl_ID_Photo = Label(f2, text='صورة الهوية', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_ID_Photo.pack() ID_Photo_Entry = Entry(f2, textvariable=self.id_photo_var, bd='2', bg='#05234f', fg='#fff', justify='center') ID_Photo_Entry.pack() lbl_Country = Label(f2, text='الدولة', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Country.pack() Country_Entry = Entry(f2, textvariable=self.country_var, bd='2', bg='#05234f', fg='#fff', justify='center') Country_Entry.pack() lbl_State = Label(f2, text='الولاية / المحافظة', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_State.pack() State_Entry = Entry(f2, textvariable=self.governorate_var, bd='2', bg='#05234f', fg='#fff', justify='center') State_Entry.pack() lbl_City = Label(f2, text='المدينة', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_City.pack() City_Entry = Entry(f2, textvariable=self.city_var, bd='2', bg='#05234f', fg='#fff', justify='center') City_Entry.pack() lbl_Phone_Number = Label(f2, text='رقم الموبايل', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Phone_Number.pack() Phone_Number_Entry = Entry(f2, textvariable=self.phone_var, bd='2', bg='#05234f', fg='#fff', justify='center') Phone_Number_Entry.pack() lbl_Skype = Label(f2, text='سكايب', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Skype.pack() Skype_Entry = Entry(f2, textvariable=self.skype_var, bd='2', bg='#05234f', fg='#fff', justify='center') Skype_Entry.pack() lbl_Telegram = Label(f2, text='تلغرام', bg='#fff', fg='#05234f', font=('monospace', 14)) lbl_Telegram.pack() Telegram_Entry = Entry(f2, textvariable=self.telegram_var, bd='2', bg='#05234f', fg='#fff', justify='center') Telegram_Entry.pack() # ----------- buttons الأزرار ----------- btn_Frame = Frame(self.root, bg="#fff") btn_Frame.place(x=900, y=500, width=400, height=148) title2 = Label(btn_Frame, text='لوحة التحكم', font=('monospace', 16), bg='#316df4', fg='#fff') title2.pack(fill='x') add_btn = Button(btn_Frame, text='إضافة موظف', bg='#05234f', fg='#fff', cursor='plus', command=self.add_student) add_btn.place(x=280, y=50, width=80, height=30) del_btn = Button(btn_Frame, text='حذف موظف', bg='#05234f', fg='#fff', cursor='target') del_btn.place(x=165, y=50, width=80, height=30) update_btn = Button(btn_Frame, text='تعديل بيانات', bg='#05234f', fg='#fff', cursor='circle') update_btn.place(x=50, y=50, width=80, height=30) clear_btn = Button(btn_Frame, text='إفراغ الحقول', bg='#05234f', fg='#fff', cursor='sizing') clear_btn.place(x=280, y=100, width=80, height=30) exit_btn = Button(btn_Frame, text='إغلاق البرنامج', bg='#05234f', fg='#fff', cursor='cross') exit_btn.place(x=165, y=100, width=80, height=30) about_btn = Button(btn_Frame, text='من نحن', bg='#05234f', fg='#fff', cursor='heart', bitmap='info') about_btn.place(x=50, y=100, width=80, height=30) # ----------- search manage البحث ----------- search_Frame = Frame(self.root, bg="#fff") search_Frame.place(x=2, y=35, width=896, height=50) lbl_search = Label(search_Frame, text='البحث', font=('monospace', 16), bg='#fff', fg='#05234f') lbl_search.place(x=830, y=12) combo_search = ttk.Combobox(search_Frame, justify='right') combo_search['value']=('الرقم التسلسلي', 'الاسم', 'الإيميل', 'رقم الهوية', 'الجنس', 'الحالة الاجتماعية', 'المدينة', 'رقم الهاتف', 'المؤهل العلمي', 'الجامعة', 'نوع المهارة', 'المسمى الوظيفي', 'المعرفة المهنية', 'برامج التصميم', 'برامج المونتاج', 'مهارات البرمجة') combo_search.place(x=680, y=14) search_Entry = Entry(search_Frame, bd='2', bg='#05234f', fg='#fff', justify='right') search_Entry.place(x=545, y=14) search_btn = Button(search_Frame, text='بحث', bg='#05234f', fg='#fff', cursor='circle') search_btn.place(x=460, y=10, width=80, height=30) # ----------- dietals عرض النتائج والبيانات ----------- Dietals_Frame = Frame(self.root, bg="#fff") Dietals_Frame.place(x=2, y=88, width=896, height=560) # -------- scroll -------- scroll_x = Scrollbar(Dietals_Frame, orient=HORIZONTAL) scroll_y = Scrollbar(Dietals_Frame, orient=VERTICAL) # -------- treeview -------- self.student_table = ttk.Treeview(Dietals_Frame, columns=('Telegram', 'Skype', 'Phone', 'City', 'Governorate', 'Country', 'ID photo', 'Nationality', 'Family', 'Social Status', 'Gender', 'Date Birth', 'ID Number', 'E-mail', 'Name', 'ID'), xscrollcommand=scroll_x.set, yscrollcommand=scroll_y.set) self.student_table.place(x=20, y=2, width=890, height=540) scroll_x.pack(side=BOTTOM, fill='x') scroll_y.pack(side=LEFT, fill='y') scroll_x.config(command=self.student_table.xview) scroll_y.config(command=self.student_table.yview) self.student_table['show'] = 'headings' self.student_table.heading('Telegram', text='تلغرام') self.student_table.heading('Skype', text='سكايب') self.student_table.heading('Phone', text='رقم الموبايل') self.student_table.heading('City', text='المدينة') self.student_table.heading('Governorate', text='المحافظة') self.student_table.heading('Country', text='الدولة') self.student_table.heading('ID photo', text='صورة الهوية') self.student_table.heading('Nationality', text='الجنسية') self.student_table.heading('Family', text='عدد أفراد الأسرة') self.student_table.heading('Social Status', text='الحالة الاجتماعية') self.student_table.heading('Gender', text='الجنس') self.student_table.heading('Date Birth', text='تاريخ الميلاد') self.student_table.heading('ID Number', text='رقم الهوية') self.student_table.heading('E-mail', text='البريد الإلكتروني') self.student_table.heading('Name', text='الاسم') self.student_table.heading('ID', text='الرقم التسلسلي') # ----------- con + add ----------- self.fetch_all() def add_student(self): con = pymysql.connect( host = 'localhost', user = 'root', password = '', database = 'stud') cur = con.cursor() cur.execute("insert into student values(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",( self.id_var.get(), self.name_var.get(), self.mail_var.get(), self.id_number_var.get(), self.date_birth_var.get(), self.gender_var.get(), self.social_status_var.get(), self.family_var.get(), self.nationality_var.get(), self.id_photo_var.get(), self.country_var.get(), self.governorate_var.get(), self.city_var.get(), self.phone_var.get(), self.skype_var.get(), self.telegram_var.get() )) con.commit() con.close() def fetch_all(self): con = pymysql.connect(host='localhost', user = 'root', password = '', database = 'employ') cur = con.cursor() cur.execute('select * from employees') 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, value=row) con.commit() con.close() root = Tk() ob = Employee(root) root.mainloop() ولكن بعد كتابة دالة جديدة لعرض تلك المدخلات على واجهة البرنامج : def fetch_all(self): con = pymysql.connect(host='localhost', user = 'root', password = '', database = 'employ') cur = con.cursor() cur.execute('select * from employees') 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, value=row) con.commit() con.close() وعند استدعاء الدالة : self.fetch_all() يعطيني الخطأ التالي: line 560, in fetch_all self.student_table.delete(*self.student_table.get_children) TypeError: tkinter.ttk.Treeview.delete() argument after * must be an iterable, not method أرجو الإفادة
  11. بارك الله فيك على المعلومات المقدمة
  12. هناك نشاط أو اختبار بلغة بايثون عن تحليل البيانات Data Analysis ارجو المساعدة ممن لديهم الخبرة في المجال
  13. يعني نضع هذا الكود داخل كود html ام ملف لوحده ونربطه ونربطه عن طريق action
  14. لو أردنا أن نجعل هذا البرنامج يعمل مع <!DOCTYPE HTML> <html> <head> </head> <body> <h2>Text Analyzer</h2> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> <textarea name="comment" rows="5" cols="40"></textarea> <br><br> <input type="submit" name="submit" value="Analyzer!"> </form> </body> </html> فورم ادخال نص وارساله ليرجع لنا قيم البرنامج ماذا يمكن أن نضيف في الكود
×
×
  • أضف...